:root{color-scheme:dark;--scale:1;--logical-w:390px;--logical-h:788px;--canvas-w:390px;--canvas-h:788px;--gold:#ffd76a;--teal:#54e4dc;--ink:#071625;--tm-greenhouse:url("../../assets/animal-triple-match-greenhouse.png");--tm-items:url("../../assets/animal-triple-match-items.png")}
*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100%;font-family:Inter,Arial,"Noto Sans TC","Noto Sans Arabic",sans-serif;background:#061421;color:#fff}button,select{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.loading{position:fixed;inset:0;z-index:50;display:grid;place-content:center;justify-items:center;gap:18px;background:#071526;color:#fff}.loading-gem{width:50px;height:50px;border:6px solid #50e5dd33;border-top-color:var(--gold);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}
.main-group{width:min(100%,920px);margin:auto}.main-screen{height:100vh;height:100dvh;min-height:620px;padding:12px;display:flex;flex-direction:column;gap:10px}.main-header{height:52px;display:grid;grid-template-columns:64px minmax(0,1fr) 118px;align-items:center;gap:8px}.main-header>strong{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-return{width:58px;height:46px;display:grid;grid-template-columns:18px 28px;place-items:center;padding:4px;border-radius:14px;background:#f8fbff;color:#12335d;text-decoration:none;font-size:22px}.lobby-return img{width:28px;height:28px;object-fit:contain}.locale-control select{width:118px;height:40px;border:1px solid #8be8df;border-radius:11px;background:#0c2b39;color:#fff;padding:0 7px}
.main-hero{flex:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;border:1px solid #7fe9df88;border-radius:24px;background:#0b2032;box-shadow:0 18px 48px #0009}.poster{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 42%}.main-copy{display:grid;gap:8px;padding:14px 18px 16px;background:linear-gradient(180deg,#0b2032f4,#102f3dfb)}.main-copy small,.public-guide>small{color:#8ef1e5;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.main-copy h1,.main-copy p{margin:0}.main-copy h1{font-size:26px}.main-copy p{line-height:1.35;color:#e6f8f4}.main-copy>span{color:#ffe79a;font-weight:900}.primary{border-color:#ffe38c!important;background:linear-gradient(#ffe996,#efb941)!important;color:#332005!important;font-weight:900}.main-copy button{height:50px;border:1px solid #fff4af;border-radius:14px}
.public-guide{margin:16px 12px 32px;padding:22px;border-radius:20px;background:#f5f4ed;color:#14243b;box-shadow:0 10px 28px #0006}.public-guide h2,.public-guide p{margin:8px 0}.public-guide>p{line-height:1.6}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.guide-grid article{padding:14px;border-radius:14px;background:#e8f4ef}.guide-grid h3{margin:0 0 8px}.guide-grid p,.guide-grid ol{margin:0;line-height:1.55;padding-left:20px}
.active-screen{position:fixed;inset:0;display:grid;grid-template-rows:minmax(0,1fr) 56px;justify-items:center;overflow:hidden;background-color:#061421;background-image:var(--tm-greenhouse);background-position:center;background-size:cover}.physical-canvas{position:relative;width:var(--canvas-w);height:var(--canvas-h);overflow:hidden}.logical-canvas{position:absolute;left:0;top:0;width:var(--logical-w);height:var(--logical-h);transform:scale(var(--scale));transform-origin:top left;overflow:hidden}.ad-reserve{width:min(100%,920px);height:56px;background:#071420}
.stage-canvas,.battle-canvas{background:linear-gradient(#07152566,#071525c7),var(--tm-greenhouse);background-position:center;background-size:cover}.stage-header{height:84px;display:grid;grid-template-columns:48px 1fr 54px;align-items:center;gap:12px;padding:14px 16px;background:#071725d9;border-bottom:1px solid #ffffff20}.stage-header>div{min-width:0;text-align:center;display:grid;gap:3px}.stage-header strong{font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-header span{font-size:12px;color:#9ceee6}#stageBack .wp-shell-return-arrow{font:900 22px/1 system-ui,sans-serif;color:#1676c9!important;-webkit-text-fill-color:#1676c9!important}.stage-header img{width:52px;height:52px;object-fit:contain}.back-btn,.icon-btn{display:grid;place-items:center;border:1px solid #8fece2;border-radius:13px;background:#f8fbff;color:#15335b}.back-btn{width:48px;height:48px;font-size:27px}.chapter-strip{width:330px;height:76px;margin:24px auto 20px;padding:12px 18px;display:grid;place-items:center;border:1px solid #ffe47b77;border-radius:18px;background:#0b2033dc;box-shadow:0 12px 30px #0007}.chapter-strip span{font-size:12px;color:#8bece1;text-transform:uppercase}.chapter-strip strong{font-size:22px;color:#ffe790}.stage-rail{height:190px;display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding:0 calc((100% - 264px)/2);scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;user-select:none}.stage-rail::-webkit-scrollbar{display:none}.stage-card{position:relative;flex:0 0 264px;width:264px;height:190px;scroll-snap-align:center;display:grid;grid-template-rows:auto 1fr auto;gap:8px;padding:17px;border:2px solid #62d8ce;border-radius:19px;background:linear-gradient(145deg,#113a48ed,#171736ed);color:#fff;text-align:left}.stage-card.is-centered{border-color:#fff1a0;box-shadow:0 0 0 3px #e5b63b,0 0 28px 8px #54e4dcaa}.stage-card.locked{filter:saturate(.45);opacity:.62}.stage-card.locked.is-centered{opacity:.82}.stage-card b{font-size:21px}.stage-card span{font-size:13px;line-height:1.35;color:#d9faf5}.stage-card small{color:#ffe895;font-weight:800}.rail-hint{text-align:center;margin:18px;color:#dffbf7;font-weight:700}.stage-tabs{position:absolute;inset:auto 0 0;z-index:5;height:56px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px;padding:6px;background:#071725ed;border-top:1px solid #ffffff20}.stage-tabs>span{min-width:0}.stage-tab{height:44px;display:grid;place-items:center;padding:0 10px;border:2px solid var(--teal);border-radius:14px;background:#f5c84c;color:#1f2937;font-size:14px;line-height:1.2;font-weight:800;white-space:nowrap;box-shadow:0 0 18px #54e4dc66}
.battle-live{height:100%;display:grid;grid-template-rows:76px 34px minmax(260px,1fr) 30px 96px 82px}.battle-header{display:grid;grid-template-columns:48px minmax(0,1fr) 116px 42px 42px;align-items:center;gap:7px;padding:12px;background:#071725e8;border-bottom:1px solid #ffffff20}.battle-title{min-width:0;display:grid;text-align:center}.battle-title small{color:#8feee4}.battle-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.hud{display:grid;grid-template-columns:1fr 1fr;gap:4px}.hud span{display:grid;text-align:center;font-size:10px;color:#93dcd7}.hud strong{font-size:15px;color:#fff}.icon-btn{width:40px;height:40px;font-size:20px}.objective{height:34px;margin:0;padding:8px 12px;text-align:center;color:#fff0a7;font-size:13px;font-weight:800;background:#071725ad;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.board{position:relative;width:min(100% - 20px,680px);height:100%;margin:auto;overflow:hidden;border:2px solid #d6ac55;border-radius:22px;background:#092330b8;box-shadow:inset 0 0 35px #020a12,0 10px 28px #0008}.piece{position:absolute;width:78px;height:78px;padding:0;border:3px solid #f4d477;border-radius:18px;background-color:#0b1830;background-image:var(--tm-items);background-size:400% 300%;box-shadow:0 7px 0 #6b431c,0 11px 18px #0009;transition:filter .16s,transform .2s,opacity .2s}.piece.blocked{filter:brightness(.38) saturate(.55);pointer-events:none}.piece.free{box-shadow:0 7px 0 #6b431c,0 0 0 3px #59e6dc,0 11px 22px #000a}.piece.vine::after,.piece.crystal::after,.piece.mystery::after{position:absolute;inset:4px;display:grid;place-items:center;border-radius:13px;font-size:31px;font-weight:900;text-shadow:0 2px 5px #000}.piece.vine::after{content:"✦";color:#6cf39c;background:#0b4028b8;border:3px solid #52c985}.piece.crystal::after{content:"◇";color:#e9fdff;background:#54ddeb77;border:3px solid #bffaff}.piece.mystery::after{content:"?";color:#fff0a3;background:#3a205fd8;border:3px solid #d89cff}.piece.hint{animation:hintPulse .55s 4 alternate}@keyframes hintPulse{to{transform:scale(1.13);box-shadow:0 0 0 7px #fff19a,0 10px 22px #000b}}.piece.removing{opacity:0;transform:translateY(80px) scale(.4)}
.feedback{margin:0;padding:5px 12px;text-align:center;color:#fff1ad;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tray-wrap{display:grid;grid-template-rows:20px 70px;gap:4px;width:370px;margin:auto;text-align:center;color:#91eee4;font-size:12px;font-weight:900}.tray{height:70px;display:grid;grid-template-columns:repeat(7,48px);gap:4px;padding:8px;border:2px solid #d8af58;border-radius:17px;background:#061421e8}.tray-slot{width:48px;height:52px;border:1px solid #ffffff25;border-radius:11px;background:#ffffff0d}.tray-piece{width:48px;height:52px;border:2px solid #f3d273;border-radius:11px;background-color:#0b1830;background-image:var(--tm-items);background-size:400% 300%;animation:trayIn .2s ease-out}@keyframes trayIn{from{transform:translateY(-18px) scale(.65);opacity:.2}}.tray-piece.matching{animation:matchOut .36s ease-in forwards}@keyframes matchOut{to{transform:scale(1.45);opacity:0;filter:brightness(2)}}
.tools{display:grid;grid-template-columns:repeat(3,110px);justify-content:center;gap:8px;padding:8px}.tools button{height:64px;display:grid;grid-template-columns:32px 1fr 19px;align-items:center;gap:4px;padding:6px;border:1px solid #77ddd5;border-radius:14px;background:#0d2b3be8;color:#fff;font-size:12px}.tools button:disabled{opacity:.38}.tool-icon{font-size:25px;color:#ffe486}.tools b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#ecbd49;color:#2b1b00}
.modal-layer{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:30px;background:#020a13dc}.dialog-card{width:330px;max-height:calc(100% - 30px);overflow-y:auto;padding:24px;display:grid;gap:15px;border:2px solid #ffe582;border-radius:23px;background:#10283af8;box-shadow:0 20px 60px #000c;text-align:center}.dialog-card h2,.dialog-card p,.dialog-card ol{margin:0}.dialog-card ol{text-align:left;line-height:1.5;padding-left:22px}.dialog-card button{min-height:46px;border:1px solid #8ee5dc;border-radius:13px;background:#ecf8f7;color:#153042;font-weight:800}.dialog-actions{display:grid;gap:8px}.result-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.result-actions button{min-width:0;min-height:54px;padding:8px 4px}.result-stars{font-size:34px;color:#ffe36a;letter-spacing:5px}.skill-report{padding:13px;display:grid;gap:6px;border-radius:14px;background:#071625;color:#bdf7f0}.result-card>small{color:#92eee4;font-weight:900;text-transform:uppercase}
button:focus-visible,a:focus-visible,select:focus-visible{outline:4px solid #fff09a;outline-offset:3px}
html[dir="rtl"] .guide-grid ol,html[dir="rtl"] .dialog-card ol{padding-left:0;padding-right:22px}
@media(min-width:700px){.main-hero{grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);grid-template-rows:minmax(0,1fr)}.main-copy{align-content:end}.guide-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:430px){.main-screen{padding:8px}.main-header{grid-template-columns:60px minmax(0,1fr) 108px}.locale-control select{width:108px}.main-copy{padding:12px 14px}.main-copy h1{font-size:24px}.public-guide{margin:12px 8px 24px}.guide-grid{grid-template-columns:1fr}}

/* Existing tray items stay still; only the newly collected treasure enters. */
.tray-piece{animation:none}
.tray-piece.tray-new{animation:trayIn .2s ease-out}
.tray-piece.matching{animation:matchOut .26s ease-in forwards}
.guide-jump{min-height:30px;display:grid;place-items:center;color:#9df4eb;font-weight:800;text-underline-offset:3px}.guide-label{display:block;margin-bottom:8px;color:#0c7068;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.board{touch-action:none}
@media(orientation:landscape) and (max-height:500px){body[data-screen="main"] .main-screen{height:100vh!important;height:100dvh!important;min-height:0!important;padding:8px 12px!important;gap:6px}.main-header{height:46px}body[data-screen="main"] .wp-standard-main-composition{height:calc(100dvh - 68px)!important;min-height:0!important;max-height:calc(100dvh - 68px)!important;grid-template-columns:minmax(0,1.45fr) minmax(300px,.82fr)!important;grid-template-rows:minmax(0,1fr)!important;border-radius:18px}.main-hero .wp-standard-main-poster{width:calc(100dvh - 68px)!important;height:calc(100dvh - 68px)!important;justify-self:center}.main-hero .wp-standard-main-poster-media{width:100%!important;min-width:0!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:none!important}.main-copy{height:100%!important;align-content:center;gap:5px;padding:10px 16px 12px}.main-copy h1{font-size:22px;line-height:1.1}.main-copy p{font-size:14px;line-height:1.25}.main-copy button{height:44px}#resultModal{padding:0}.result-card{width:390px;padding-inline:16px}.result-actions button{min-height:104px}}

/* The pointer handler owns Stage dragging; disable competing native panning. */
.stage-rail{touch-action:none}

