/* rose: the special section (Round 15). a loves me not, b catch the bouquet, c who cries first.
   The sections are the template's own cream fields. */
.spr{--spk-ink:var(--ink,#33202A);--spk-mute:var(--ink2,#5A3A45);--spk-acc:var(--deep,#8B1A26);--spk-on:#fff;--spk-line:rgba(139,26,38,.24);
  --spk-disp:var(--disp,'Bellefair',serif);--spk-body:var(--sans,'Alef',sans-serif);--spk-lat:var(--latin,'Cormorant Garamond',serif);
  --spk-btn:linear-gradient(135deg,#b8283b,#8f1626);--spk-glow:rgba(168,31,49,.45);--spk-fld:rgba(255,255,255,.7);
  background:radial-gradient(80% 60% at 50% 42%,#fdf8fa,var(--paper,#F7F0F3) 55%,var(--paper2,#EFE2E7))}
.field.spr{padding:clamp(28px,7vw,44px) 0 clamp(26px,6vw,40px)}
.spr .spk-tg{font:400 12px/1 var(--spk-lat);letter-spacing:.32em;text-transform:uppercase;color:var(--rose,#A81F31);text-indent:.32em}
.spr h2.spk-t{font-size:clamp(30px,8.4vw,42px)}
body.fAmatic .spr h2.spk-t{font-weight:700;font-size:clamp(36px,10vw,50px);line-height:1}

/* ---------- a: loves me, loves me not (Round 17): a rose of photographed petals ---------- */
.spr-ast{cursor:grab}
.spr-ast canvas.spr-paper{position:absolute;left:0;top:0;pointer-events:none}
.spr-head{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:2}
.spr-head .spr-pt{position:absolute;left:0;top:0;pointer-events:none;will-change:transform;backface-visibility:visible}
.spr-head canvas.spr-core{position:absolute;left:0;top:0;z-index:5;pointer-events:none}
.spr-rz{position:absolute;border-radius:50%;touch-action:none;z-index:9;-webkit-tap-highlight-color:transparent}
.spr-res small{display:block;margin-top:4px;font:400 13.5px/1.4 var(--spk-body);color:var(--spk-mute);opacity:.85}
.spr-word{height:58px;display:grid;place-items:center;perspective:400px}
.spr-word b{display:block;font:400 40px/1 var(--spk-disp);color:var(--rose,#A81F31)}
.spr-word b.not{color:var(--spk-ink)}
.spr-cnt{margin:0;font:400 15px/1.4 var(--spk-body);color:var(--spk-mute);min-height:22px}
.spr-res b{display:block;font:400 42px/1.05 var(--spk-disp);color:var(--rose,#A81F31)}
.spr-res span{display:block;margin-top:6px;font:400 16px/1.5 var(--spk-body);color:var(--spk-mute)}

/* ---------- b: the bouquet ---------- */
.spr-b canvas.bq{position:absolute;left:0;top:0;cursor:pointer}
.spr-out b{display:block;font:400 32px/1.1 var(--spk-disp);color:var(--rose,#A81F31)}
.spr-out span{display:block;margin-top:5px;font:400 16px/1.45 var(--spk-body);color:var(--spk-mute)}
.spr-out small{display:block;margin-top:2px;font:400 13.5px/1.4 var(--spk-body);color:var(--spk-mute);opacity:.8}

/* ---------- c: who cries first ---------- */
.spr-c .spr-cv{position:absolute;left:0;top:0;pointer-events:none}
.spr-tag{position:absolute;top:226px;width:128px;text-align:center;pointer-events:none}
.spr-tag span{display:inline-block;max-width:100%;padding:5px 12px 6px;border-radius:3px;background:#fffaf6;box-shadow:0 6px 14px -8px rgba(90,20,35,.45),inset 0 0 0 1px rgba(139,26,38,.18);
  font:400 18px/1.15 var(--spk-disp);color:var(--spk-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spr-tag.l{left:21px}.spr-tag.r{right:21px}
.spr-hitj{position:absolute;top:10px;height:220px;width:140px;cursor:pointer}
.spr-hitj.l{left:15px}.spr-hitj.r{right:15px}
.spr-vote{display:flex;align-items:flex-start;justify-content:center;gap:22px;direction:ltr}
.spr-vote button{-webkit-appearance:none;appearance:none;border:0;cursor:pointer;width:132px;max-width:42vw;min-height:52px;padding:0 12px;border-radius:99px;
  font:400 20px/1.1 var(--spk-disp);color:var(--spk-ink);background:#fff;box-shadow:inset 0 0 0 1px rgba(168,31,49,.35),0 12px 24px -16px rgba(168,31,49,.45);
  transition:background-color .4s cubic-bezier(.16,1,.3,1),color .4s,opacity .4s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spr-vote button.on{background:var(--rose,#A81F31);color:#fff}
.spr-vote button.off{opacity:.45}
