/* Rinforzo positivo "D · Unione" (approvata da Michele il 31/10): tavolette, striscia omikuji, timbro, stella che brilla,
   coriandoli e festoni. Usa i token di sumi.css (--paper --card --ink --seal --bull --gold --display --body).
   Se manca --gold nel sito aggiungila: chiaro #B8963E, notte #D8B24E. */
/* i kanji usano Yuji Boku da fonts.css (font-yuji-boku.woff2) */
@keyframes srotola{0%{transform:scaleY(0);opacity:0}60%{opacity:1}100%{transform:scaleY(1)}}
.sigs{display:flex;gap:6px;margin-top:10px;min-height:30px}.sigs i{width:28px;height:28px;border-radius:50%;background:var(--seal);color:#fff;font:800 14px/28px var(--display);text-align:center;font-style:normal;animation:pop .35s both}
@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.2)}100%{transform:scale(1)}}
.fs{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none;z-index:50}
.fs.strip{animation:sfuma 1.9s both}@keyframes sfuma{0%{opacity:0}10%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translateY(-16px)}}
.omiBig{display:flex;align-items:stretch;width:min(86vw,360px);background:var(--card);border:2px solid var(--ink);box-shadow:0 14px 40px rgba(0,0,0,.28);transform-origin:top;animation:srotola .55s cubic-bezier(.2,.9,.3,1.2) both;transform:rotate(-2deg)}
.omiBig .g{writing-mode:vertical-rl;font:800 64px/1 var(--display);padding:18px 18px;background:var(--ink);color:var(--paper);display:grid;place-items:center;letter-spacing:.06em}
.omiBig.dai{border-color:var(--seal)}.omiBig.dai .g{background:var(--seal);color:#fff}
.omiBig .t{padding:16px;display:grid;gap:4px;align-content:center}.omiBig .t b{font:800 26px/1.1 var(--display)}.omiBig .t span{font-size:15px;color:var(--muted)}
.sigBig{width:min(62vw,210px);height:min(62vw,210px);border-radius:50%;background:var(--seal);color:#fff;display:grid;place-items:center;font:800 min(26vw,100px) var(--display);box-shadow:0 0 0 8px var(--card),0 0 0 11px var(--seal),0 14px 40px rgba(0,0,0,.3);transform:rotate(-8deg);animation:timbraG .5s both}
.sigBig small{display:block;font:700 15px var(--body);letter-spacing:.16em;margin-top:8px}.sigBig>div{text-align:center;line-height:1}
@keyframes timbraG{0%{opacity:0;transform:rotate(-8deg) scale(2.6)}60%{opacity:1;transform:rotate(-8deg) scale(.92)}100%{opacity:1;transform:rotate(-8deg) scale(1)}}
/* FX: stella che brilla, coriandoli, festoni */
.star{position:fixed;left:50%;top:50%;width:150vmax;height:150vmax;margin:-75vmax 0 0 -75vmax;pointer-events:none;z-index:40;opacity:0;
background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.55) 0 4deg,rgba(255,255,255,0) 4deg 15deg);
-webkit-mask:radial-gradient(circle,#000 0,rgba(0,0,0,.7) 14%,transparent 46%);mask:radial-gradient(circle,#000 0,rgba(0,0,0,.7) 14%,transparent 46%);
mix-blend-mode:screen;animation:stella var(--d,2.4s) ease-out both}
:root:not([data-theme="dark"]) .star{mix-blend-mode:normal;background:repeating-conic-gradient(from 0deg,rgba(255,250,225,.85) 0 4deg,rgba(255,255,255,0) 4deg 15deg)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .star{mix-blend-mode:screen;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.55) 0 4deg,rgba(255,255,255,0) 4deg 15deg)}}
.dim{position:fixed;inset:0;pointer-events:none;z-index:38;background:rgba(18,14,9,.32);animation:buio var(--d,2.2s) ease-out both}@keyframes buio{0%{opacity:0}15%{opacity:1}80%{opacity:.8}100%{opacity:0}}
.flash{position:fixed;inset:0;pointer-events:none;z-index:39;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.55),rgba(255,255,255,0) 55%);animation:lampo .9s ease-out both}
@keyframes lampo{0%{opacity:0}15%{opacity:1}100%{opacity:0}}
@keyframes stella{0%{opacity:0;transform:rotate(0) scale(.5)}18%{opacity:1}100%{opacity:0;transform:rotate(40deg) scale(1.1)}}
.cf{position:fixed;top:-20px;width:9px;height:14px;pointer-events:none;z-index:60;will-change:transform}
.fest{position:fixed;top:-6px;width:12px;height:0;pointer-events:none;z-index:60;transform-origin:top;animation:festone 2.2s ease-out both}
@keyframes festone{0%{height:0}35%{height:44vh}100%{height:40vh;opacity:0}}
.fest::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,var(--c) 0 14px,transparent 14px 20px);transform-origin:top;animation:ondeggia .9s ease-in-out infinite alternate}
@keyframes ondeggia{from{transform:skewX(-14deg)}to{transform:skewX(14deg)}}
@media (prefers-reduced-motion:reduce){.dim,.star,.flash,.cf,.fest{display:none}}
.done{margin-top:10px;font:700 16px var(--display);color:var(--seal)}
/* kanji in Yuji Boku (OFL): va dopo le regole con font: abbreviato */
.omiBig .g,.sigBig,.sigs i{font-family:"Yuji Boku",var(--display);font-weight:400}
/* omikuji leggermente piegato: inclinato, con una piega al centro e l'angolo in alto a destra arricciato */
.omiBig{position:relative;transform:perspective(900px) rotateX(7deg) rotate(-3.5deg) skewX(-2deg);filter:drop-shadow(0 12px 18px rgba(0,0,0,.28));border-radius:2px 14px 2px 2px}
.omiBig::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 0 46%,rgba(0,0,0,.16) 49%,rgba(255,255,255,.28) 51.5%,transparent 56%)}
.omiBig::after{content:"";position:absolute;right:0;top:0;width:34px;height:34px;pointer-events:none;background:linear-gradient(225deg,var(--paper) 0 50%,rgba(0,0,0,.18) 50% 62%,transparent 62%);border-top-right-radius:14px}
@keyframes srotola{0%{transform:perspective(900px) rotateX(-70deg) rotate(-3.5deg);opacity:0}60%{opacity:1}100%{transform:perspective(900px) rotateX(7deg) rotate(-3.5deg) skewX(-2deg)}}
.omiBig .g{writing-mode:horizontal-tb;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:96px}.omiBig .g span{display:block;line-height:1.05}

/* piega dell'omikuji: sta dietro al testo, così il titolo resta pulito */
.omiBig::before{z-index:0;background:linear-gradient(180deg,transparent 0 47%,rgba(0,0,0,.12) 49.5%,rgba(255,255,255,.22) 51.5%,transparent 55%)}
.omiBig .g,.omiBig .t{position:relative;z-index:1}
