:root{--ink:#124f4b;--jade:#427e70;--paper:#f8f0d9;--red:#b44e3c;--gold:#c59a46;--shadow:#123b3522}
*{box-sizing:border-box}html{min-height:100%;background:#d9e5d5}body{margin:0;min-height:100%;color:var(--ink);font-family:"Noto Serif TC",serif;background:radial-gradient(circle at 15% 16%,#fff9 0 5%,transparent 22%),linear-gradient(150deg,#d2e4d4,#f5e9ca 55%,#c8dfd6);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}
.page-shell{position:relative;width:min(100%,860px);min-height:100vh;margin:auto;padding:40px 28px 24px;background:linear-gradient(#fbf6e7e8,#f7efd9f2);box-shadow:0 0 70px #17463c33;isolation:isolate}
.page-shell:before,.page-shell:after{content:"";position:absolute;z-index:-1;border-radius:50% 50% 12% 12%;background:linear-gradient(145deg,#7faa8a,#d1d39a);filter:drop-shadow(0 8px 0 #2e6f6350)}.page-shell:before{width:330px;height:210px;top:32px;left:-130px;transform:rotate(12deg)}.page-shell:after{width:390px;height:230px;top:80px;right:-190px;transform:rotate(-8deg)}
.mist{position:absolute;height:80px;width:300px;border:12px solid #fff9;border-left-color:transparent;border-right-color:transparent;border-radius:50%;filter:blur(2px);pointer-events:none}.mist-a{top:145px;left:-60px;transform:rotate(8deg)}.mist-b{top:220px;right:-90px;transform:rotate(-10deg)}
.hero{position:relative;width:calc(100% + 56px);aspect-ratio:2/1;margin:-40px -28px 24px;display:grid;place-items:center;overflow:hidden;text-align:center}.hero-keyvisual{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.hero-copy{position:relative;z-index:1;width:min(78%,680px);padding:7% 5% 5%;filter:drop-shadow(0 2px 0 #fff)}.hero-copy:before{content:"";position:absolute;z-index:-1;inset:-18% -13%;background:radial-gradient(ellipse,rgba(252,248,235,.96) 0 47%,rgba(252,248,235,.76) 62%,transparent 78%);pointer-events:none}.year{display:block;letter-spacing:.28em;font-weight:900;font-size:clamp(.8rem,1.8vw,1.05rem);padding-left:.28em}.event-title{margin-top:4px;font-size:clamp(1.35rem,4vw,2.25rem);font-weight:900;letter-spacing:.12em;padding-left:.12em}.hero h1{font-family:"Ma Shan Zheng","Noto Serif TC",serif;font-size:clamp(2.1rem,5.8vw,4.15rem);line-height:1;margin:9px 0 10px;letter-spacing:.04em;color:var(--ink);white-space:nowrap}.hero p{max-width:590px;margin:0 auto;line-height:1.7;font-size:clamp(.72rem,1.6vw,.95rem);font-weight:700;letter-spacing:.08em}
.game-card{position:relative;border:2px solid var(--ink);border-radius:36px 10px 34px 12px;padding:22px;background:#fffaf0c9;box-shadow:8px 10px 0 #2f6d5c20,inset 0 0 35px #c8a85a18}.game-card:before{content:"";position:absolute;inset:7px;border:1px solid #477a6a55;border-radius:29px 8px 28px 9px;pointer-events:none}
.toolbar{display:flex;position:relative;z-index:4;align-items:center;gap:14px;justify-content:space-between;margin:2px 5px 18px}.timer{display:flex;align-items:baseline;gap:3px;color:var(--red);white-space:nowrap}.timer small{display:block;position:absolute;transform:translateY(-18px);font-size:.65rem;letter-spacing:.1em;color:var(--ink)}.timer strong{font-size:2rem;line-height:1}.timer.danger{animation:pulse .55s infinite}.progress-wrap{display:grid;grid-template-columns:auto auto;gap:3px 12px;align-items:end;flex:1;max-width:330px}.progress-label{font-size:.78rem;letter-spacing:.15em}.progress-wrap strong{justify-self:end;font-size:1rem}.progress-track{height:8px;background:#b8c9b8;border-radius:9px;overflow:hidden;grid-column:1/-1}.progress-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold),var(--red));border-radius:inherit;transition:width .35s ease}.reset-btn,.win-dialog button{border:0;color:#fff;background:var(--ink);font-family:inherit;font-weight:700;letter-spacing:.08em;padding:10px 16px;border-radius:99px;cursor:pointer;box-shadow:0 4px 0 #0b3532;transition:.2s}.reset-btn:hover,.win-dialog button:hover{transform:translateY(-2px)}
.calculus-btn{border:1px solid #bb8a32;background:#fff8df;color:#8e4a30;border-radius:99px;padding:9px 13px;font-family:inherit;font-weight:800;cursor:pointer;box-shadow:0 3px 0 #c9a052}.calculus-btn b{display:block;font-size:.72rem}.calculus-btn:hover{transform:translateY(-2px)}.calculus-btn:disabled{filter:grayscale(1);opacity:.5;cursor:not-allowed;transform:none}
.board-wrap{position:relative;touch-action:none;user-select:none;min-height:420px}.board{--speed:5.8s;--drift:3px;display:grid;grid-template-columns:repeat(10,1fr);gap:8px 6px;position:relative;z-index:2;padding:8px;height:100%}.board.physics{display:block;height:520px;min-height:520px}.tile{aspect-ratio:1/1.05;border:1.5px solid #31695e;border-radius:47% 41% 44% 38%;background:#f9f1dc;color:var(--ink);font-family:"Noto Serif TC",serif;font-size:clamp(1.25rem,4.4vw,2rem);font-weight:900;position:relative;display:grid;place-items:center;padding:0;pointer-events:none;box-shadow:inset 0 0 12px #d1be7a20;animation:floatTile 5s ease-in-out infinite alternate;animation-delay:var(--delay);transition:opacity .25s,background .2s,color .2s}.tile-glyph{display:block;line-height:1;transform-origin:50% 50%;will-change:transform}.board.physics .tile{position:absolute;width:52px;height:55px;aspect-ratio:auto;animation:none;will-change:transform;font-size:1.14rem}.tile:nth-child(3n){border-radius:38% 48% 40% 46%}.tile:nth-child(4n){border-radius:48% 36% 49% 39%}.tile.removed{opacity:0}.tile.wrong{filter:grayscale(1);box-shadow:0 0 0 4px #b44e3c55}.fly-char{position:fixed;z-index:9999;display:grid;place-items:center;border:3px solid var(--red);border-radius:50%;background:#fff5d8;color:var(--red);font-weight:900;font-size:2rem;transition:transform .65s cubic-bezier(.22,.9,.24,1),opacity .65s;pointer-events:none}#lasso{position:absolute;z-index:3;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.message{text-align:center;min-height:25px;margin:18px 0 0;font-weight:700;color:#506a5d}.message.error{color:var(--red)}
.answer-dock{margin:22px 0 12px;padding:17px;border:2px solid var(--ink);background:#eaf0ddaa;border-radius:12px 30px 12px 30px;box-shadow:6px 7px 0 #2c5d5320}.dock-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.dock-title span{font-weight:900;letter-spacing:.15em}.dock-title small{color:#6a796e}.answer-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}.phrase-row{display:flex;align-items:center;gap:5px}.phrase-no{font-size:.72rem;color:var(--red);width:28px}.slot{height:42px;flex:1;min-width:0;border:1px dashed #789186;border-radius:9px;background:#fff9e5;display:grid;place-items:center;font-size:1.3rem;font-weight:900;color:var(--red);transition:.25s}.slot.filled{border-style:solid;background:#fff1ca;box-shadow:inset 0 -3px #e4bc65}.slot-pop{animation:slotPop .4s}
.legend{margin:24px auto 12px;text-align:center;display:flex;justify-content:center;flex-wrap:wrap;gap:5px 12px;font-weight:700;color:#49675f}.legend b{color:var(--gold)}footer{text-align:center;font-size:.8rem;letter-spacing:.28em;color:#6a796e;padding-top:8px}
.win-dialog{border:0;border-radius:26px;background:#fbf3dd;color:var(--ink);text-align:center;padding:38px 45px;box-shadow:0 25px 100px #092f2c88;max-width:min(90vw,440px)}.win-dialog::backdrop{background:#0a3936aa;backdrop-filter:blur(5px)}.win-dialog .seal{width:78px;height:78px;margin:-4px auto 14px;display:grid;place-items:center;border:4px double #fff;background:var(--red);color:white;border-radius:50%;font-family:"Ma Shan Zheng";font-size:3.2rem;box-shadow:0 0 0 3px var(--red);animation:seal .5s cubic-bezier(.2,1.8,.4,1)}.win-dialog .eyebrow{letter-spacing:.3em;color:var(--red);font-weight:900}.win-dialog h2{font-size:2rem;line-height:1.4;margin:8px 0}.win-dialog button{margin-top:12px;background:var(--red);box-shadow:0 4px 0 #743125}
.quiz-dialog{border:0;border-radius:28px;background:#102f30;color:#f8efd7;padding:35px;max-width:min(92vw,560px);box-shadow:0 28px 110px #051817}.quiz-dialog::backdrop{background:#071d1ddd;backdrop-filter:blur(8px)}.quiz-dialog .eyebrow{color:#e4b766;letter-spacing:.2em}.quiz-dialog h2{font-size:2rem;margin:6px 0}.quiz-note{color:#bdd0c7}.quiz-question{font-size:1.12rem;line-height:1.7;margin:24px 0 16px}.quiz-options{display:grid;gap:10px}.quiz-options button{border:1px solid #85a89b;background:#173e3c;color:#fff8e7;text-align:left;padding:14px 16px;border-radius:12px;font-family:inherit;font-weight:700;cursor:pointer}.quiz-options button:hover{background:#285a55;border-color:#e4b766}.quiz-result{min-height:24px;color:#e4b766;font-weight:700}.lose-dialog .seal{background:#677975;box-shadow:0 0 0 3px #677975}
@keyframes floatTile{0%{transform:translate(-2px,2px) rotate(var(--r))}100%{transform:translate(3px,-3px) rotate(calc(var(--r) * -1))}}@keyframes slotPop{50%{transform:scale(1.25);background:#ffd985}}@keyframes pulse{50%{transform:scale(1.08);filter:drop-shadow(0 0 5px #c44)}}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes seal{from{transform:scale(2.2) rotate(-16deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
@media(max-width:900px),(pointer:coarse),(hover:none){.page-shell{padding:25px 10px 18px}.hero{width:calc(100% + 20px);margin:-25px -10px 18px}.hero-copy{width:82%;padding:5% 2% 3%}.hero-copy:before{inset:-14% -9%}.hero p{padding:0 8px;white-space:nowrap}.game-card{padding:14px 8px;border-radius:25px 8px}.toolbar{display:grid;grid-template-columns:auto minmax(105px,1fr) auto;gap:12px 7px;padding:4px 5px 0;margin-bottom:12px}.timer{grid-column:1;grid-row:1;align-self:center}.calculus-btn{grid-column:2;grid-row:1;font-size:.69rem;padding:8px 7px}.reset-btn{grid-column:3;grid-row:1;padding:9px 9px;font-size:.8rem;white-space:nowrap}.progress-wrap{grid-column:1/-1;grid-row:2;max-width:none;min-width:0}.board-wrap{min-height:0;height:auto}.board{grid-template-columns:repeat(9,1fr);gap:8px 6px;height:auto;min-height:0;padding:6px}.tile{animation:none;font-size:clamp(.92rem,3.8vw,1.2rem)}.board.physics{display:block;height:500px;min-height:500px;padding:6px}.board.physics .tile{position:absolute;width:clamp(40px,6.2vw,48px);height:clamp(42px,6.6vw,51px);aspect-ratio:auto;animation:none;will-change:transform;font-size:clamp(.92rem,2.7vw,1.08rem)}.message{margin-top:12px;font-size:.88rem}.answer-slots{grid-template-columns:1fr}.dock-title small{display:none}.legend{font-size:.82rem}.mist{display:none}}
@media(max-width:660px){.board{grid-template-columns:repeat(8,1fr);gap:8px 6px}.board.physics{height:490px;min-height:490px}}
@media(max-width:480px){.board{grid-template-columns:repeat(7,1fr);gap:8px 6px}.board.physics{height:470px;min-height:470px}.tile{font-size:.96rem}.board.physics .tile{width:36px;height:38px;font-size:.86rem}.hero h1{font-size:clamp(1.9rem,9.2vw,2.35rem)}.event-title{font-size:clamp(1.15rem,6vw,1.45rem)}.hero p{font-size:.66rem;letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Watercolor background only — game content and layout remain unchanged */
html{background:#f5efdc;overflow-x:hidden}
body{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(214,229,205,.56),transparent 15%,transparent 85%,rgba(208,226,211,.58)),
    linear-gradient(180deg,#fbf7e9 0%,#f3ecd6 52%,#fbf7e9 100%);
}
body:before,
body:after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
}
body:before{
  opacity:1;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E"),
    radial-gradient(ellipse at -4% 15%,rgba(94,157,122,.22) 0 8%,transparent 22%),
    radial-gradient(ellipse at 8% 29%,rgba(106,166,118,.32) 0 9%,transparent 23%),
    radial-gradient(ellipse at 17% 18%,rgba(190,209,111,.32) 0 7%,transparent 19%),
    radial-gradient(ellipse at 103% 18%,rgba(104,163,126,.25) 0 10%,transparent 24%),
    radial-gradient(ellipse at 88% 30%,rgba(184,206,112,.29) 0 8%,transparent 20%),
    radial-gradient(ellipse at -9% 76%,rgba(188,207,113,.34) 0 13%,transparent 29%),
    radial-gradient(ellipse at 109% 68%,rgba(87,151,126,.27) 0 14%,transparent 31%),
    radial-gradient(ellipse at 15% 107%,rgba(91,151,120,.22) 0 19%,transparent 38%),
    radial-gradient(ellipse at 83% 108%,rgba(179,206,125,.25) 0 20%,transparent 39%);
  background-size:140px 140px,auto,auto,auto,auto,auto,auto,auto,auto,auto;
}
body:after{
  opacity:.18;
  background-image:url("data:image/svg+xml,%3Csvg width='900' height='620' viewBox='0 0 900 620' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%230e625a' stroke-width='2' stroke-linecap='round' opacity='.62'%3E%3Cpath d='M25 115c30-21 61-15 73 3 22-26 64-21 69 8 30-9 50 7 46 26-42 14-134 13-188-1'/%3E%3Cpath d='M720 88c20-17 47-13 56 4 19-22 52-14 53 12 27-7 46 8 40 25-40 11-101 10-149-2'/%3E%3Cpath d='M18 480c53-18 110-16 163 1M34 494c39-10 79-9 118 0M736 508c47-15 97-12 141 4M764 523c31-8 65-6 93 3'/%3E%3C/g%3E%3Cg stroke='%237a9f71' stroke-width='2' opacity='.38'%3E%3Cpath d='M98 330l-9 36m23-41l-6 44m21-33l-8 41m679-80l-10 45m24-38l-7 47m-29-33l-6 38'/%3E%3C/g%3E%3C/svg%3E");
  background-position:top center;
  background-size:900px 620px;
}
.page-shell{
  z-index:1;
  background:linear-gradient(180deg,rgba(255,252,241,.80),rgba(249,245,226,.68));
  box-shadow:0 0 72px rgba(43,91,75,.10);
}
.page-shell:before,
.page-shell:after{
  opacity:.65;
  background:
    radial-gradient(ellipse at 42% 52%,rgba(103,164,119,.78) 0 23%,transparent 54%),
    radial-gradient(ellipse at 62% 48%,rgba(190,207,112,.72) 0 28%,transparent 62%);
  filter:blur(.5px) saturate(.84);
  box-shadow:none;
}
.mist{opacity:.72;border-color:rgba(255,255,255,.62);border-left-color:transparent;border-right-color:transparent}

@media(max-width:660px){
  body:before{
    background-image:
      url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E"),
      radial-gradient(ellipse at -12% 18%,rgba(103,164,121,.27) 0 14%,transparent 32%),
      radial-gradient(ellipse at 111% 27%,rgba(183,205,111,.27) 0 14%,transparent 32%),
      radial-gradient(ellipse at -10% 84%,rgba(185,204,112,.28) 0 17%,transparent 36%),
      radial-gradient(ellipse at 110% 72%,rgba(89,152,125,.24) 0 17%,transparent 36%);
    background-size:140px 140px,auto,auto,auto,auto;
  }
  body:after{opacity:.12;background-size:620px 427px}
}

/* Guided circle tutorial and easier three-letter completion */
.slot.given{border-style:solid;border-color:#adc0ae;background:#dfe9d3;color:var(--ink);box-shadow:inset 0 0 0 3px rgba(255,255,255,.38)}
.tutorial-dialog{border:0;border-radius:30px;background:#fbf3dd;color:var(--ink);text-align:center;padding:30px 34px;max-width:min(94vw,560px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 28px 110px #05181788}
.tutorial-dialog::backdrop{background:#071d1dc7;backdrop-filter:blur(7px)}
.tutorial-dialog .eyebrow{margin:0;color:var(--red);font-weight:900;letter-spacing:.2em}
.tutorial-dialog h2{font-size:clamp(1.7rem,6vw,2.35rem);margin:7px 0 8px}
.tutorial-note{margin:0 auto;color:#526d64;line-height:1.7}
.circle-demo{position:relative;width:190px;height:145px;margin:12px auto 4px}
.circle-demo svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.circle-demo ellipse{fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:100;transform:rotate(-90deg);transform-origin:90px 70px;filter:drop-shadow(0 2px 2px rgba(116,49,37,.22));animation:demoCircle 2.8s ease-in-out infinite}
.demo-char{position:absolute;left:50%;top:50%;z-index:1;display:grid;place-items:center;width:60px;height:64px;transform:translate(-50%,-50%);border:1.5px solid #31695e;border-radius:46% 41% 45% 39%;background:#f9f1dc;font-size:2rem;font-weight:900}
.tutorial-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 13px}
.tutorial-steps span{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 5px;border-top:1px solid #9bb2a7;color:#335f56;font-weight:700}
.tutorial-steps b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font-size:.75rem}
.tutorial-guide{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:5px 0 13px;text-align:left}.tutorial-guide-card{position:relative;min-height:112px;padding:11px 12px 10px;border:1px solid #9bb2a7;border-radius:14px;background:rgba(255,250,236,.78);box-shadow:inset 0 -3px rgba(42,96,85,.07)}.tutorial-guide-card strong{display:block;margin:3px 0 7px;font-size:.86rem;line-height:1.45}.tutorial-guide-card small{display:block;margin-top:7px;color:#5b7168;font-size:.72rem;line-height:1.5}.guide-kicker{display:block;color:var(--red);font-size:.66rem;font-weight:900;letter-spacing:.12em}.guide-slots{display:flex;gap:3px}.guide-slots i{width:25px;height:27px;display:grid;place-items:center;border:1px dashed #789186;border-radius:6px;background:#fff9e5;color:transparent;font-style:normal;font-size:.8rem;font-weight:900}.guide-slots i.filled{border-style:solid;background:#dfe9d3;color:var(--ink)}.guide-bonus{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c59a46;border-radius:99px;padding:5px 9px;background:#fff4cc;color:#8e4a30;font-size:.75rem;font-weight:900;box-shadow:0 2px 0 #c9a052}
.tutorial-tip{font-size:.82rem;color:#9c4939}
.tutorial-dialog button{border:0;border-radius:99px;background:var(--ink);color:#fff8e7;padding:12px 26px;font-family:inherit;font-weight:900;letter-spacing:.08em;cursor:pointer;box-shadow:0 4px 0 #0b3532}
.tutorial-dialog button:hover{transform:translateY(-2px)}
@keyframes demoCircle{0%,8%{stroke-dashoffset:100;opacity:.25}76%,90%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@media(max-width:480px){.tutorial-dialog{padding:22px 15px 20px;border-radius:24px}.tutorial-dialog h2{font-size:1.52rem}.tutorial-note{font-size:.86rem}.circle-demo{height:118px;transform:scale(.78);margin-top:-4px;margin-bottom:-10px}.tutorial-guide{gap:6px;margin-bottom:10px}.tutorial-guide-card{min-height:108px;padding:9px}.tutorial-guide-card strong{font-size:.76rem}.tutorial-guide-card small{font-size:.65rem;line-height:1.38}.guide-slots i{width:20px;height:23px;font-size:.7rem}.guide-bonus{font-size:.68rem;padding:4px 7px}.tutorial-steps{gap:4px;margin-bottom:8px}.tutorial-steps span{font-size:.76rem;padding:6px 2px}.tutorial-tip{margin:7px 0;font-size:.72rem}.tutorial-dialog button{padding:10px 22px}}
@media(prefers-reduced-motion:reduce){.circle-demo ellipse{stroke-dashoffset:0;opacity:1}}

/* Correct-selection burst: the board stays bounded while the remaining tiles scatter. */
.burst-fx{position:absolute;z-index:5;width:1px;height:1px;pointer-events:none}.burst-fx:before{content:"";position:absolute;left:0;top:0;width:46px;height:46px;border:4px solid rgba(180,78,60,.78);border-radius:50%;transform:translate(-50%,-50%) scale(.18);animation:burstRing .62s cubic-bezier(.12,.7,.2,1) forwards}.burst-fx i{position:absolute;left:-3px;top:-3px;width:7px;height:7px;border-radius:50% 15% 50% 20%;background:linear-gradient(135deg,#e3b75a,#b44e3c);box-shadow:0 0 7px rgba(197,154,70,.7);transform:rotate(var(--a)) translateX(4px) scale(.35);animation:burstSpark .58s cubic-bezier(.12,.75,.28,1) var(--delay) forwards}
@keyframes burstRing{60%{opacity:.9}100%{opacity:0;transform:translate(-50%,-50%) scale(3.2)}}
@keyframes burstSpark{70%{opacity:1}100%{opacity:0;transform:rotate(var(--a)) translateX(var(--d)) scale(1)}}
@media(prefers-reduced-motion:reduce){.burst-fx{display:none}}
