.ta-stage{position:relative;height:430px;border-radius:18px;overflow:hidden;background:var(--wx-dark);isolation:isolate}
.ta-stage .wx-backdrop{z-index:-1}
.ta-instruction{font-size:20px!important;margin:16px 0}
.ta-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;font-size:18px}
.ta-flower-picker{border:0;padding:0;margin:0;display:flex;gap:10px}.ta-flower-picker legend{font-size:17px;padding:0 0 12px}
.ta-flower-picker button{display:flex;align-items:center;gap:12px;min-height:54px;padding:8px 18px;border:1px solid var(--wx-dark);border-radius:30px;background:#fffdf8;color:#24101c;font:600 17px var(--body)}
.ta-flower-picker button[aria-pressed=true]{outline:3px solid var(--wx-accent);outline-offset:2px}
.ta-flower{display:inline-block;width:56px;height:56px;background:radial-gradient(circle at center,#d8ad42 0 18%,transparent 19%),radial-gradient(ellipse at 50% 17%,var(--petal,#fffdf8) 0 22%,transparent 23%),radial-gradient(ellipse at 20% 40%,var(--petal,#fffdf8) 0 22%,transparent 23%),radial-gradient(ellipse at 80% 40%,var(--petal,#fffdf8) 0 22%,transparent 23%),radial-gradient(ellipse at 30% 77%,var(--petal,#fffdf8) 0 22%,transparent 23%),radial-gradient(ellipse at 70% 77%,var(--petal,#fffdf8) 0 22%,transparent 23%);filter:drop-shadow(0 3px 4px #24101c33)}
.ta-flower-picker .ta-flower{width:28px;height:28px;border-width:6px}
.ta-flower-1{--petal:#dc8cac}.ta-flower-2{--petal:#7a9bce}
.ta-arrangement{position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);width:240px;height:240px}
.ta-wreath{border:18px solid #51763c;border-radius:50%;box-shadow:0 8px 20px #24101c44,inset 0 0 0 6px #9aad67}
.ta-slot{position:absolute;left:calc(50% + cos(var(--slot)*60deg)*102px - 35px);top:calc(50% + sin(var(--slot)*60deg)*102px - 35px);display:grid;place-items:center;width:70px;height:70px;border:2px dashed #fffdf8;background:#fdf6e8c9;color:#335b37;border-radius:50%;font-size:35px;cursor:pointer}
.ta-slot:has(.ta-flower){background:transparent;border-color:transparent}.ta-slot:focus-visible{outline:4px solid #fff;outline-offset:4px}
.ta-bouquet:before{content:"";position:absolute;width:8px;height:155px;left:117px;top:150px;background:#426a34;box-shadow:19px 0 #557b44,-19px 0 #557b44;transform:rotate(12deg)}
.ta-bouquet .ta-slot{top:calc(20% + sin(var(--slot)*60deg)*75px);left:calc(50% + cos(var(--slot)*60deg)*85px - 35px)}
.ta-dedication{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);max-width:90%;padding:10px 20px;background:#fffdf8ef;border-radius:30px;font-size:18px;white-space:nowrap;color:#24101c}
.ta-frogs{position:absolute;right:25px;top:25px;display:flex;gap:20px}.ta-frogs>span{scale:.6;animation:wx-dance 1s ease-in-out infinite alternate}
.ta-flagpole{position:absolute;left:26%;top:30px;height:365px;width:8px;background:#f4e5c5;box-shadow:1px 1px 5px #24101c66}
.ta-flag{position:absolute;left:8px;top:210px;width:360px;transform-origin:0 50%;animation:none}
.ta-flag.raised{top:5px;animation:ta-wind calc(5s - var(--wind)*1.5s) ease-in-out infinite alternate}
.ta-wind{display:flex;gap:10px;flex-wrap:wrap}.ta-wind [aria-pressed=true]{background:var(--wx-dark);color:#fffdf8}
.ta-kite-area{position:absolute;inset:0}.ta-kite{position:absolute;left:45%;top:60%;transform:rotate(10deg)}.ta-kite>.wx-object{width:110px;height:155px}.ta-kite.flying{top:18%;animation:ta-kite-fly calc(6s - var(--wind)*1.5s) ease-in-out infinite alternate}
.ta-kite-tail{position:absolute;left:50%;top:150px;height:130px;width:5px;border-radius:50%;background:repeating-linear-gradient(#dd865d 0 20px,#f9dda1 20px 35px,#4a97a0 35px 50px);transform:rotate(-16deg);transform-origin:top}
.ta-presents{position:absolute;inset:0;display:flex;align-items:center;gap:25px;padding:35px}
.ta-present{flex:1;min-height:220px;border:1px solid #dbc28b;border-radius:15px;background:#7b3039f2;color:#fff4df;font:500 23px/1.4 var(--display);padding:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px;box-shadow:0 10px 20px #24101c33}
.ta-present b{font:600 18px var(--body)}.ta-present.opened{background:#fff8e8f5;color:#551935}
@keyframes ta-wind{to{transform:perspective(550px) rotateY(calc(-8deg - var(--wind)*7deg)) rotate(2deg)}}
@keyframes ta-kite-fly{to{transform:translate(calc(15px + var(--wind)*15px),-35px) rotate(calc(-8deg - var(--wind)*5deg))}}
.dx-paused .ta-stage *{animation:none!important}
@media(prefers-reduced-motion:reduce){.ta-stage *{animation:none!important;transition:none!important}}
body.phone .ta-stage{height:330px}
body.phone .ta-flower-picker{flex-wrap:wrap;gap:8px}body.phone .ta-flower-picker button{font-size:13px;padding:6px 10px;gap:6px}
body.phone .ta-flower-picker legend,body.phone .ta-instruction{font-size:16px!important}
body.phone .ta-dedication{font-size:13px;white-space:normal;text-align:center;min-width:70%}
body.phone .ta-footer{font-size:15px}.ta-footer button:disabled{opacity:.5}
body.phone .ta-flagpole{left:14%;height:270px}body.phone .ta-flag{width:250px;top:120px}body.phone .ta-flag.raised{top:5px}
body.phone .ta-presents{padding:15px;gap:10px;flex-wrap:wrap;align-content:center}
body.phone .ta-present{min-height:135px;flex:1 1 40%;padding:10px;font-size:17px;gap:20px}
body.phone .ta-present .wx-object{scale:.7}body.phone .ta-present b{font-size:13px}
body.phone .ta-mode-gifts .ta-stage{height:445px}

/* ---- v6.5 interaction families ---- */
.ta-svg{display:inline-flex;width:56px;height:56px}.ta-svg svg{width:100%;height:100%}.ta-svg img{width:100%;height:100%;object-fit:contain;display:block}
.ta-piece-dot{display:inline-block;width:34px;height:34px;border-radius:50%;border:3px solid #24101c2e;box-shadow:inset -4px -4px 0 #0002}
.ta-flower-picker .ta-piece-dot{width:24px;height:24px}
/* spot */
.ta-grounds{position:absolute;inset:0}
.ta-marker{position:absolute;width:56px;height:56px;transform:translate(-50%,-50%);border-radius:50%;border:2px dashed #fffdf8b8;background:#fdf6e8b3;cursor:pointer;display:grid;place-items:center}
.ta-marker:focus-visible{outline:4px solid #fff;outline-offset:3px}
.ta-marker.found{background:transparent;border-color:transparent;cursor:default}
.ta-rustle{width:16px;height:16px;border-radius:50%;background:#fffdf8;box-shadow:0 0 0 4px #fffdf85e;animation:ta-rustle 2.2s ease-in-out infinite}
@keyframes ta-rustle{50%{transform:scale(1.5);opacity:.65}}
.ta-marker .ta-svg,.ta-marker .wx-object{scale:.85}
/* lights */
.ta-lights{position:absolute;left:0;right:0;bottom:14%;display:flex;justify-content:center;gap:6%;flex-wrap:wrap}
.ta-light{min-width:64px;min-height:84px;border:0;background:none;cursor:pointer;display:grid;place-items:end center;filter:brightness(.55) saturate(.7);transition:filter .4s}
.ta-light:focus-visible{outline:4px solid #fff;outline-offset:3px;border-radius:14px}
.ta-light.lit{filter:none}
.ta-light.lit .wx-candles i{animation:ta-flicker 1.6s ease-in-out infinite alternate}
.ta-light.lit .wx-lanterns{box-shadow:inset 0 0 26px #ffe9a5,0 0 24px #f7d76add}
.ta-light.lit .wx-stars{filter:drop-shadow(0 0 12px #f2c96b)}
.ta-light.lit .wx-sun{filter:drop-shadow(0 0 26px #efc766aa)}
.ta-lights.all-lit .ta-light{animation:ta-gentle 3.4s ease-in-out infinite}
.ta-lights.all-lit .ta-light:nth-child(2){animation-delay:.4s}.ta-lights.all-lit .ta-light:nth-child(4){animation-delay:.8s}
@keyframes ta-flicker{to{transform:scale(1.14) rotate(4deg)}}
@keyframes ta-gentle{50%{transform:translateY(-7px)}}
.ta-mode-sunrise .ta-lights{bottom:10%;gap:8px;align-items:flex-end}
.ta-mode-sunrise .ta-light{min-width:13%;min-height:56px;background:linear-gradient(#ffd98c00,#ffd98c99);border-radius:12px 12px 0 0;place-items:center}
.ta-mode-sunrise .ta-light.lit{background:linear-gradient(#ffe9b5,#ffcf6f);box-shadow:0 0 20px #ffd98c88}
.ta-mode-workshop .ta-lights{gap:12px;background:#24101c0d;border:12px solid #8a5a33;border-radius:22px;padding:26px 30px;box-shadow:inset 0 0 0 4px #d8b17e,0 10px 26px #24101c55}
/* fireworks */
.ta-sky{position:absolute;inset:0;width:100%;border:0;background:transparent;cursor:crosshair}
.ta-sky:focus-visible{outline:4px solid #fff;outline-offset:-6px;border-radius:18px}
.ta-fw{position:absolute;width:0;height:0}
.ta-fw i,.ta-fw b,.ta-fw em{position:absolute;width:13px;height:13px;border-radius:50%;left:-7px;top:-7px;animation:ta-burst 1.5s ease-out infinite}
.ta-fw b{animation-delay:.12s}.ta-fw em{animation-delay:.24s}
.ta-fw.c0 i,.ta-fw.c0 b,.ta-fw.c0 em{background:#E2B33C;box-shadow:0 0 14px #E2B33Caa}
.ta-fw.c1 i,.ta-fw.c1 b,.ta-fw.c1 em{background:#D4647A;box-shadow:0 0 14px #D4647Aaa}
.ta-fw.c2 i,.ta-fw.c2 b,.ta-fw.c2 em{background:#5BB8A8;box-shadow:0 0 14px #5BB8A8aa}
.ta-fw i{--dx:34px;--dy:-22px}.ta-fw b{--dx:-30px;--dy:-32px}.ta-fw em{--dx:-8px;--dy:-48px}
@keyframes ta-burst{0%{transform:translate(0,0);opacity:0}30%{opacity:1}100%{transform:translate(var(--dx),var(--dy));opacity:0}}
.ta-fw-colors [aria-pressed=true]{background:var(--wx-dark);color:#fffdf8}
.ta-fw-colors [data-value="0"][aria-pressed=true]{background:#E2B33C;color:#24101c}
.ta-fw-colors [data-value="1"][aria-pressed=true]{background:#D4647A;color:#24101c}
.ta-fw-colors [data-value="2"][aria-pressed=true]{background:#5BB8A8;color:#24101c}
/* bonfire */
.ta-firepit{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);width:280px;height:230px}
.ta-log{position:absolute;bottom:calc(18px + var(--i)*14px);left:calc(50% + (var(--i) - 1.5)*32px);width:96px;height:22px;background:#ac7c4a;border:4px solid #694a35;border-radius:11px;transform:rotate(calc((var(--i) - 1.5)*14deg));box-shadow:0 6px 12px #24101c55;animation:ta-drop .4s ease-out}
@keyframes ta-drop{from{transform:translateY(-120px) rotate(40deg);opacity:0}}
.ta-flames{position:absolute;left:50%;bottom:52px;transform:translateX(-50%)}
.ta-flames i,.ta-flames b,.ta-flames em{position:absolute;bottom:0;width:34px;height:74px;background:#f2ad37;border-radius:50% 50% 42% 42%;transform-origin:50% 100%;animation:ta-flame 1.3s ease-in-out infinite alternate}
.ta-flames b{background:#e8862f;left:-30px;height:60px;animation-delay:.2s}
.ta-flames em{background:#ffd570;left:30px;width:24px;height:88px;animation-delay:.4s}
@keyframes ta-flame{to{transform:scaleY(1.25) rotate(5deg)}}
/* splash */
.ta-water{position:absolute;inset:22% 0 0;border:0;background:linear-gradient(#67cbd466,#4fb3c988 55%,#2e6e8e);cursor:pointer;border-radius:26px 26px 0 0}
.ta-water:focus-visible{outline:4px solid #fff;outline-offset:-6px}
.ta-water.calm{animation:ta-wave-calm 4s ease-in-out infinite}
@keyframes ta-wave-calm{50%{transform:translateY(6px)}}
.ta-ripple{position:absolute;width:20px;height:20px;border:4px solid #ffffffd0;border-radius:50%;transform:translate(-50%,-50%);animation:ta-ripple 2.4s ease-out infinite}
.ta-ripple.s0{width:34px;height:34px}.ta-ripple.s1{width:52px;height:52px;border-width:6px}.ta-ripple.s2{width:78px;height:78px;border-width:8px;border-color:#ffe9a5d0}
@keyframes ta-ripple{from{opacity:1}to{transform:translate(-50%,-50%) scale(3.4);opacity:0}}
/* rhythm */
.ta-floor{position:absolute;inset:0;display:grid;place-items:center}
.ta-disco{position:absolute;top:10%;left:50%;transform:translateX(-50%);width:76px;height:76px}
.ta-disco svg{width:100%;height:100%}
.ta-pads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:90px}
.ta-pad{width:120px;height:120px;border-radius:50%;border:3px solid #fffdf870;font:700 26px var(--body);color:#fffdf8;cursor:pointer;background:#48215599}
.ta-pad.p0{background:#8e3b7e}.ta-pad.p1{background:#3f5d8f}.ta-pad.p2{background:#b3572f}.ta-pad.p3{background:#5b8f52}
.ta-pad.lit{filter:brightness(1.6);box-shadow:0 0 26px #fff8}
/* spiral */
.ta-bun{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:230px;height:230px;display:grid;place-items:center}
.ta-bun.done{animation:wx-turn 24s linear infinite}
.ta-layer{position:absolute;width:calc(46px + var(--i)*34px);height:calc(46px + var(--i)*34px);border-radius:50%;background:repeating-radial-gradient(ellipse,#824b2e 0 5px,#d79b62 6px 9px,#f0c98b 10px 13px);opacity:.88;animation:ta-roll-in .35s ease-out;box-shadow:0 4px 10px #24101c33}
@keyframes ta-roll-in{from{transform:scale(.5);opacity:0}}
.ta-bun-core{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,#f0c98b,#d79b62);border:4px solid #824b2e;z-index:1}
/* words */
.ta-words{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:0 34px;background:#fffdf8f2}
.ta-chip-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.ta-chip{min-height:48px;padding:10px 18px;border-radius:26px;border:2px solid #24101c30;background:#fff;color:#24101c;font:500 16px var(--body);cursor:pointer}
.ta-chip.on{background:var(--wx-accent,#C57B91);color:#24101c;border-color:#24101c55}
.ta-chip:focus-visible{outline:3px solid var(--wx-dark);outline-offset:2px}
.ta-card{display:flex;align-items:center;gap:18px;margin-top:6px;padding:16px 20px;background:var(--wx-light,#FAEDE6);border:1px solid var(--wx-accent,#C57B91);border-radius:16px;box-shadow:0 8px 18px #24101c22}
.ta-card p{margin:0;font:500 20px/1.45 var(--display);color:#24101c}
/* compose: starmap, mosaic, snowgarden, wheel, meadow, waffle */
.ta-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.ta-lines polyline{fill:none;stroke:#E8C56B99;stroke-width:.5;stroke-dasharray:1.6 1.2;vector-effect:non-scaling-stroke}
.ta-anchor{position:absolute;width:52px;height:52px;transform:translate(-50%,-50%);border-radius:50%;border:2px dashed #ffffffa8;background:#20234acc;color:#fff;cursor:pointer;display:grid;place-items:center}
.ta-anchor:focus-visible{outline:4px solid #fff;outline-offset:3px}
.ta-anchor .ta-piece-dot{width:26px;height:26px}
.ta-mosaic{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:repeat(3,86px);grid-template-rows:repeat(3,86px);gap:8px;padding:16px;background:#fffdf8;border:10px solid #723F36;border-radius:6px;box-shadow:0 14px 30px #24101c44}
.ta-tile{position:static;border-radius:4px;border:2px dashed #24101c3a;background:#fbe9d9;cursor:pointer;display:grid;place-items:center}
.ta-tile:focus-visible,.ta-seg:focus-visible,.ta-snow-slot:focus-visible,.ta-meadow-slot:focus-visible,.ta-waffle-slot:focus-visible{outline:4px solid #fff;outline-offset:3px}
.ta-tile .ta-piece-dot{width:52px;height:52px;border-width:4px}
.ta-snow-ground{position:absolute;inset:40% 0 0;background:radial-gradient(ellipse at 50% 130%,#ffffffee,#f3f1df88 70%);border-radius:22px}
.ta-snow-slot{position:absolute;width:62px;height:62px;transform:translate(-50%,-50%);border-radius:16px;border:2px dashed #335b3788;background:#ffffffbf;cursor:pointer;display:grid;place-items:center}
.ta-wheel{position:absolute;left:50%;top:50%;width:300px;height:300px;transform:translate(-50%,-50%);border-radius:50%;background:#fffdf8;box-shadow:0 14px 30px #24101c55}
.ta-wheel.spin{animation:wx-turn 16s linear infinite}
.ta-wheel:before{content:"";position:absolute;inset:14px;border-radius:50%;border:3px dotted #8A392555}
.ta-seg{position:absolute;width:66px;height:66px;border-radius:12px;border:2px dashed #8A3925aa;background:#fff0d4;cursor:pointer;display:grid;place-items:center;transform:translate(-50%,-50%)}
.ta-hub{position:absolute;left:50%;top:50%;width:54px;height:54px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#CBA435,#8A3925);box-shadow:inset 0 0 0 5px #FFF0D4}
.ta-meadow{position:absolute;left:0;right:0;top:30%;bottom:10%;background:linear-gradient(#51763c66,#335b37aa);border-radius:20px}
.ta-meadow-slot{position:absolute;width:72px;height:72px;transform:translate(-50%,-50%);border-radius:50%;border:2px dashed #fbf2d4cc;background:#51763c66;cursor:pointer;display:grid;place-items:center}
.ta-waffle{position:absolute;left:50%;top:50%;width:280px;height:280px;transform:translate(-50%,-50%)}
.ta-waffle-base{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#D9A05B 30%,#C98F4E);border:10px solid #B98040;box-shadow:inset 0 0 0 14px #C98F4E77,0 14px 30px #24101c55}
.ta-waffle-base:after{content:"";position:absolute;inset:8px;border-radius:50%;background:repeating-conic-gradient(#00000012 0 12deg,transparent 12deg 30deg)}
.ta-waffle-slot{position:absolute;width:64px;height:64px;border-radius:50%;border:2px dashed #B98040;background:#fffdf86e;cursor:pointer;display:grid;place-items:center;z-index:1}
.ta-compose-done .ta-arrangement,.ta-compose-done{}
/* phone */
body.phone .ta-grounds .ta-marker{width:46px;height:46px}
body.phone .ta-lights{bottom:16%;gap:4%}
body.phone .ta-light{min-width:52px;min-height:66px}
body.phone .ta-mode-sunrise .ta-light{min-height:44px}
body.phone .ta-mode-workshop .ta-lights{border-width:8px;padding:16px 14px}
body.phone .ta-pads{gap:10px;margin-top:60px}body.phone .ta-pad{width:88px;height:88px;font-size:20px}
body.phone .ta-bun{width:180px;height:180px}body.phone .ta-layer{width:calc(36px + var(--i)*26px);height:calc(36px + var(--i)*26px)}
body.phone .ta-words{padding:0 16px;gap:9px}
body.phone .ta-chip{min-height:44px;padding:8px 12px;font-size:13px}
body.phone .ta-card p{font-size:15px}
body.phone .ta-mosaic{grid-template-columns:repeat(3,64px);grid-template-rows:repeat(3,64px);gap:6px;padding:10px;border-width:7px}
body.phone .ta-tile .ta-piece-dot{width:40px;height:40px}
body.phone .ta-wheel{width:220px;height:220px}body.phone .ta-seg{width:52px;height:52px}
body.phone .ta-waffle{width:210px;height:210px}body.phone .ta-waffle-slot{width:54px;height:54px}
body.phone .ta-snow-slot,body.phone .ta-meadow-slot{width:56px;height:56px}
body.phone .ta-firepit{width:220px;height:190px}body.phone .ta-log{width:76px}
body.phone .ta-disco{width:54px;height:54px}

/* ---- v6.10: lens search, hidden finds, piece pop, artwork name card ---- */
.ta-marker.hidden{background:transparent;border-color:transparent;pointer-events:none;opacity:0;animation:ta-glimmer 9s ease-in-out infinite}
@keyframes ta-glimmer{0%,86%,100%{opacity:0}90%{opacity:.7}}
.ta-lens{position:absolute;width:92px;height:92px;transform:translate(-50%,-50%);border-radius:50%;border:3px solid #fffdf8d9;pointer-events:none;z-index:3;background:radial-gradient(circle,transparent 60%,#fffdf817 62%);box-shadow:0 0 0 6px #fffdf822,inset 0 0 20px #00000022;transition:border-color .18s,box-shadow .18s,scale .18s}
.ta-lens.hot{border-color:#ffd76a;box-shadow:0 0 0 10px #ffd76a40,0 0 26px #ffd76a8f;scale:1.07}
.ta-lens:focus-visible{outline:4px solid #fff;outline-offset:5px}
.ta-lens.miss{animation:ta-miss .32s}
@keyframes ta-miss{25%{margin-left:-7px}75%{margin-left:7px}}
.ta-hint{font-size:14.5px;line-height:1.5;opacity:.9;margin:2px 0 10px}
.ta-piece-in{display:inline-grid;place-items:center;animation:ta-piece-pop .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes ta-piece-pop{from{transform:scale(.15);opacity:0}}
.ta-namecard{margin:16px auto 0;max-width:360px;background:#fffdf8;border:1px solid #d8c9a8;border-radius:16px;padding:14px 20px;text-align:center;color:#33301f;box-shadow:0 6px 24px #00000014}
.ta-namecard h4{font-family:Zodiak,Georgia,serif;font-size:25px;margin:5px 0 4px}
.ta-namecard p{font-size:13px;margin:0;letter-spacing:.05em}
body.phone .ta-lens{width:68px;height:68px}
