/* UFASO აჩეხე — ყველა კლასი ufm- */
.ufm{--pk:#ff2d78;--pk2:#b026ff;--ok:#19c98a;--tx:#f3eef6;--mu:#a59bb0;--sf:rgba(255,255,255,.045);--sf2:rgba(255,255,255,.08);--ln:rgba(255,255,255,.1);--pn:#17121c;position:relative;isolation:isolate;color:var(--tx);padding-bottom:40px}
.ufm *,.ufm *:before,.ufm *:after{box-sizing:border-box}
.ufm [hidden]{display:none!important}
.ufm button{font:inherit;cursor:pointer}
.ufm h1,.ufm h2,.ufm h3,.ufm p,.ufm ul,.ufm ol{margin:0;padding:0}
.ufm ul,.ufm ol{list-style:none}

/* buttons */
.ufm .ufm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:99px;border:1px solid var(--ln);background:var(--sf2);color:#fff;font-size:14.5px;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;transition:transform .15s,background .15s,border-color .15s,opacity .15s}
.ufm .ufm-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.13);color:#fff}
.ufm .ufm-btn:disabled{opacity:.55;pointer-events:none}
.ufm .ufm-btn-main{background:linear-gradient(110deg,var(--pk),var(--pk2));border-color:transparent;min-height:50px;font-size:16px;box-shadow:0 12px 30px rgba(255,45,120,.28)}
.ufm .ufm-btn-main:hover{background:linear-gradient(110deg,var(--pk),var(--pk2))}
.ufm .ufm-btn-soft{background:var(--sf2)}
.ufm .ufm-btn-ghost{background:transparent;border-color:transparent;color:var(--mu)}
.ufm .ufm-btn-ghost.is-sure{color:#fff;border-color:#ff5a6e;background:rgba(255,90,110,.16)}
.ufm .ufm-small{font-size:12.5px;line-height:1.55;color:var(--mu)}
.ufm .ufm-note{padding:12px 16px;border-radius:12px;border:1px solid rgba(255,45,120,.4);background:rgba(255,45,120,.1);color:#fff;font-size:14px;line-height:1.5}

/* ── landing ── */
.ufm-land{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:48px;align-items:center;min-height:62vh}
.ufm-land-text{display:grid;gap:18px;align-content:center}
.ufm .ufm-eyebrow{display:inline-block;justify-self:start;padding:6px 14px;border-radius:99px;background:rgba(255,45,120,.14);color:var(--pk);font-size:13px;font-weight:800;letter-spacing:.06em}
.ufm .ufm-land h1{font-size:clamp(30px,4.4vw,54px);line-height:1.12;font-weight:800;color:#fff;text-wrap:balance}
.ufm .ufm-land h1 span{color:var(--pk)}
.ufm .ufm-lead{max-width:54ch;font-size:16px;line-height:1.65;color:#cfc6d8}
.ufm-steps{display:flex;flex-wrap:wrap;gap:10px}
.ufm-steps li{display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:99px;border:1px solid var(--ln);background:var(--sf);font-size:13.5px;color:#e6deee}
.ufm-steps b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--pk);color:#fff;font-size:13px}
.ufm-box{display:grid;gap:18px;padding:26px;border-radius:22px;border:1px solid var(--ln);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:0 30px 70px rgba(0,0,0,.45)}
.ufm-new{display:grid;gap:16px}
/* a grid with no column takes its content's minimum width: on a 360px phone the form was 356px wide inside a 323px box (root-e9) */
.ufm-box,.ufm-new,.ufm-row{grid-template-columns:minmax(0,1fr)}
.ufm-join{min-width:0;max-width:100%}.ufm-join-row{min-width:0;max-width:100%}.ufm-join-row>input{flex:1 1 0;min-width:0;width:100%}.ufm-join-row>.ufm-btn{flex:none}
.ufm .ufm-new h2{font-size:20px;font-weight:800;color:#fff}
.ufm-row{display:grid;gap:8px}
.ufm-label{font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--mu)}
.ufm-label i{font-style:normal;font-weight:400;opacity:.8;margin-left:6px}
.ufm-chips{display:flex;flex-wrap:wrap;gap:7px}
.ufm-genres{max-height:132px;overflow-y:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
.ufm-genres::-webkit-scrollbar{width:6px}
.ufm-genres::-webkit-scrollbar-thumb{border-radius:6px;background:rgba(255,255,255,.22)}
.ufm-genres::-webkit-scrollbar-track{background:transparent}
.ufm .ufm-chip{min-height:34px;padding:0 13px;border-radius:99px;border:1px solid var(--ln);background:var(--sf);color:#d9d0e2;font-size:13px;font-weight:600;line-height:1;transition:background .15s,border-color .15s,color .15s}
.ufm .ufm-chip:hover{background:var(--sf2);color:#fff}
.ufm .ufm-chip.is-on{background:var(--pk);border-color:var(--pk);color:#fff}
.ufm-or{display:flex;align-items:center;gap:12px;color:var(--mu);font-size:12.5px}
.ufm-or:before,.ufm-or:after{content:"";flex:1;height:1px;background:var(--ln)}
.ufm-join{display:grid;gap:8px}
.ufm-join label{font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--mu)}
.ufm-join-row{display:flex;gap:8px}
.ufm .ufm-join input{flex:1;min-width:0;height:46px;padding:0 16px;border-radius:14px;border:1px solid var(--ln);background:rgba(0,0,0,.3);color:#fff;font:700 18px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.3em;text-transform:uppercase;outline:0}
.ufm .ufm-join input::placeholder{color:#6f6579;letter-spacing:.3em}
.ufm .ufm-join input:focus{border-color:var(--pk);box-shadow:0 0 0 3px rgba(255,45,120,.2)}

/* ── room ── */
.ufm-bar{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;margin-bottom:22px}
.ufm-bar-code{display:flex;align-items:center;gap:10px;color:var(--mu);font-size:13.5px}
.ufm .ufm-code{min-height:42px;padding:0 16px;border-radius:12px;border:1px solid var(--ln);background:var(--sf);color:#fff;font:800 18px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.28em}
.ufm .ufm-code:hover{border-color:var(--pk)}
.ufm .ufm-people{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#d9d0e2}
.ufm .ufm-people:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(25,201,138,.18)}
.ufm .ufm-people.is-wait:before{background:#ffb020;box-shadow:0 0 0 4px rgba(255,176,32,.18);animation:ufmPulse 1.4s ease-in-out infinite}
@keyframes ufmPulse{50%{opacity:.35}}
.ufm-bar-acts{display:flex;align-items:center;gap:8px;margin-left:auto}
.ufm .ufm-jump{display:none;align-items:center;min-height:36px;padding:0 13px;border-radius:99px;background:rgba(25,201,138,.16);color:#7df0c4;font-size:13px;font-weight:700;text-decoration:none}
.ufm-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:40px;align-items:start}
.ufm-stage{display:grid;justify-items:center;gap:18px;min-width:0}
.ufm-stack{position:relative;height:min(62vh,600px);min-height:360px;aspect-ratio:2/3.52;max-width:100%}
.ufm-card{position:absolute;inset:0;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--pn);border:1px solid var(--ln);box-shadow:0 26px 60px rgba(0,0,0,.55);user-select:none;-webkit-user-select:none}
.ufm-card.is-next{transform:translateY(14px) scale(.94);filter:brightness(.5);box-shadow:none}
.ufm-card.is-top{touch-action:pan-y;cursor:grab;transition:transform .23s ease,opacity .23s ease;animation:ufmIn .22s ease}
.ufm-card.is-drag{transition:none;cursor:grabbing}
.ufm-card.is-gone.is-yes{transform:translate(140%,-6%) rotate(18deg)!important;opacity:0}
.ufm-card.is-gone.is-no{transform:translate(-140%,-6%) rotate(-18deg)!important;opacity:0}
@keyframes ufmIn{from{transform:translateY(12px) scale(.95)}}
.ufm-poster{flex:1 1 0;min-height:0;width:100%;object-fit:cover;object-position:center top;pointer-events:none}
.ufm-info{flex:0 0 auto;display:grid;align-content:center;gap:5px;min-height:96px;padding:12px 16px 14px;background:#120d17;pointer-events:none}
.ufm-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:#e6deee;font-variant-numeric:tabular-nums}
.ufm-kind{padding:4px 9px;border-radius:99px;background:rgba(255,255,255,.16)}
.ufm-rate{color:#ffc93c}
.ufm .ufm-info h2{font-size:18px;line-height:1.25;font-weight:800;color:#fff;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ufm .ufm-orig{font-size:12.5px;color:#b9afc4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ufm-stamp{position:absolute;top:22px;padding:6px 16px;border-radius:12px;border:3px solid;font-size:24px;font-weight:900;letter-spacing:.06em;opacity:0;pointer-events:none;background:rgba(8,5,12,.45)}
.ufm-stamp-yes{left:18px;color:var(--ok);transform:rotate(-12deg)}
.ufm-stamp-no{right:18px;color:#ff5a6e;transform:rotate(12deg)}
.ufm-card.is-gone.is-yes .ufm-stamp-yes,.ufm-card.is-gone.is-no .ufm-stamp-no{opacity:1}
.ufm-asked{position:absolute;top:14px;left:50%;transform:translateX(-50%);padding:6px 12px;border-radius:99px;background:var(--pk);color:#fff;font-size:12px;font-weight:800;white-space:nowrap}
.ufm-more{position:absolute;inset:0;display:grid;align-content:start;gap:12px;padding:22px 20px;background:rgba(14,10,19,.95);overflow-y:auto;cursor:default}
.ufm .ufm-more h3{font-size:19px;line-height:1.25;font-weight:800;color:#fff}
.ufm .ufm-more-g{font-size:12.5px;font-weight:700;color:var(--pk)}
.ufm .ufm-more-d{font-size:14px;line-height:1.65;color:#d9d0e2}
.ufm .ufm-more-go{justify-self:start;padding:9px 16px;border-radius:99px;border:1px solid var(--ln);color:#fff;font-size:13px;font-weight:700;text-decoration:none}
.ufm .ufm-more-go:hover{border-color:var(--pk)}
.ufm-acts{display:flex;align-items:center;gap:12px}
.ufm .ufm-act{min-height:54px;padding:0 26px;border-radius:99px;border:1px solid var(--ln);background:var(--sf);color:#fff;font-size:16px;font-weight:800;line-height:1;transition:transform .15s,box-shadow .15s,background .15s}
.ufm .ufm-act:hover{transform:translateY(-2px)}
.ufm .ufm-act:active{transform:scale(.96)}
.ufm .ufm-act-no{min-width:104px;border-color:rgba(255,90,110,.55);background:rgba(255,90,110,.12);color:#ff8d9b}
.ufm .ufm-act-yes{min-width:104px;border-color:transparent;background:var(--ok);color:#04130d;box-shadow:0 12px 28px rgba(25,201,138,.3)}
.ufm .ufm-act-info{min-height:46px;padding:0 18px;font-size:13.5px;font-weight:700;color:#d9d0e2}
.ufm .ufm-act-info.is-on{background:var(--sf2);border-color:var(--pk);color:#fff}
.ufm-hints{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;font-size:12.5px;color:var(--mu)}
.ufm-left{padding:5px 11px;border-radius:99px;border:1px solid var(--ln);font-variant-numeric:tabular-nums}
.ufm-left:empty{display:none}
.ufm-hints kbd{display:inline-block;min-width:22px;padding:2px 5px;margin:0 2px;border-radius:6px;border:1px solid var(--ln);background:var(--sf);color:#fff;font:600 11px/1.4 inherit;text-align:center}
.ufm-drag{display:none}
.ufm .ufm-undo{padding:5px 11px;border-radius:99px;border:1px solid var(--ln);background:transparent;color:#d9d0e2;font-size:12.5px}
.ufm .ufm-undo:disabled{opacity:.4;cursor:default}
.ufm-end{display:grid;gap:14px;justify-items:center;max-width:420px;padding:44px 26px;border-radius:20px;border:1px dashed var(--ln);text-align:center}
.ufm .ufm-end h2{font-size:22px;font-weight:800;color:#fff}
.ufm .ufm-end p{font-size:14px;line-height:1.6;color:var(--mu)}

.ufm-side{display:grid;gap:16px;min-width:0;scroll-margin-top:100px}
.ufm .ufm-side-head h2{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;color:#fff}
.ufm-side-head b{display:grid;place-items:center;min-width:26px;height:26px;padding:0 8px;border-radius:99px;background:rgba(25,201,138,.18);color:#7df0c4;font-size:13px}
.ufm .ufm-empty{font-size:13.5px;line-height:1.6;color:var(--mu)}
.ufm-matches,.ufm-found{display:grid;gap:8px}
.ufm-match a,.ufm-found li{display:flex;align-items:center;gap:12px;padding:8px;border-radius:14px;border:1px solid var(--ln);background:var(--sf);text-decoration:none;color:#fff;min-width:0}
.ufm-match a:hover{border-color:var(--ok);background:var(--sf2)}
.ufm-match img,.ufm-found img{flex:0 0 44px;width:44px;height:66px;border-radius:8px;object-fit:cover;background:var(--pn)}
.ufm-match-tx{display:grid;gap:3px;flex:1;min-width:0}
.ufm-match-tx b{font-size:14px;line-height:1.3;font-weight:700;color:#fff;overflow-wrap:anywhere}
.ufm-match-tx i{font-style:normal;font-size:12px;color:#7df0c4}
.ufm-found .ufm-match-tx i{color:var(--mu)}
.ufm-match-go{flex:0 0 auto;padding:7px 12px;border-radius:99px;background:var(--ok);color:#04130d;font-size:12.5px;font-weight:800}
.ufm-find{display:grid;gap:8px;padding-top:16px;border-top:1px solid var(--ln)}
.ufm-find label{font-size:12.5px;font-weight:700;color:var(--mu)}
.ufm .ufm-find input{width:100%;height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--ln);background:rgba(0,0,0,.3);color:#fff;font-size:14px;outline:0}
.ufm .ufm-find input:focus{border-color:var(--pk)}
.ufm .ufm-found .ufm-btn{min-height:34px;padding:0 12px;font-size:12.5px}
.ufm .ufm-found-none{display:block;padding:10px 12px;font-size:13px;color:var(--mu);border-style:dashed}

/* match */
.ufm-win{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;background:rgba(8,5,12,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:ufmFade .2s ease}
@keyframes ufmFade{from{opacity:0}}
.ufm-win-box{position:relative;display:grid;justify-items:center;gap:12px;width:min(380px,100%);padding:28px 24px;border-radius:24px;border:1px solid rgba(25,201,138,.45);background:#17121c;text-align:center;overflow:hidden;animation:ufmPop .32s cubic-bezier(.2,1.3,.4,1)}
@keyframes ufmPop{from{transform:scale(.8);opacity:0}}
.ufm .ufm-win-top{font-size:30px;font-weight:900;color:var(--ok);letter-spacing:.03em}
.ufm-win-box img{width:150px;height:225px;border-radius:14px;object-fit:cover;box-shadow:0 18px 40px rgba(0,0,0,.6)}
.ufm .ufm-win-box h2{font-size:20px;line-height:1.25;font-weight:800;color:#fff;overflow-wrap:anywhere}
.ufm .ufm-win-box p{font-size:14px;color:var(--mu)}
.ufm-win-acts{display:grid;gap:8px;width:100%;margin-top:6px}
.ufm-confetti{position:absolute;inset:0;pointer-events:none}
.ufm-confetti i{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;background:var(--pk);animation:ufmFall 1.8s ease-in forwards}
.ufm-confetti i:nth-child(3n){background:var(--ok)}
.ufm-confetti i:nth-child(3n+1){background:#ffc93c}
.ufm-confetti i:nth-child(1){left:6%;animation-delay:.05s}.ufm-confetti i:nth-child(2){left:12%;animation-delay:.3s}.ufm-confetti i:nth-child(3){left:18%;animation-delay:.12s}.ufm-confetti i:nth-child(4){left:24%;animation-delay:.42s}.ufm-confetti i:nth-child(5){left:30%;animation-delay:.2s}.ufm-confetti i:nth-child(6){left:36%;animation-delay:.02s}.ufm-confetti i:nth-child(7){left:42%;animation-delay:.36s}.ufm-confetti i:nth-child(8){left:48%;animation-delay:.16s}.ufm-confetti i:nth-child(9){left:54%;animation-delay:.48s}.ufm-confetti i:nth-child(10){left:60%;animation-delay:.08s}.ufm-confetti i:nth-child(11){left:66%;animation-delay:.28s}.ufm-confetti i:nth-child(12){left:72%;animation-delay:.4s}.ufm-confetti i:nth-child(13){left:78%;animation-delay:.1s}.ufm-confetti i:nth-child(14){left:84%;animation-delay:.34s}.ufm-confetti i:nth-child(15){left:90%;animation-delay:.22s}.ufm-confetti i:nth-child(16){left:95%;animation-delay:.44s}.ufm-confetti i:nth-child(17){left:3%;animation-delay:.5s}.ufm-confetti i:nth-child(18){left:51%;animation-delay:.26s}
@keyframes ufmFall{to{transform:translateY(520px) rotate(540deg);opacity:0}}
.ufm-toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:100001;transform:translateX(-50%);max-width:min(440px,calc(100vw - 32px));padding:13px 18px;border-radius:14px;background:#fff;color:#17121c;font-size:14px;font-weight:700;line-height:1.4;text-align:center;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.ufm-toast.is-in{animation:ufmToast .25s ease}
@keyframes ufmToast{from{transform:translate(-50%,14px);opacity:0}}

@media (max-width:1000px){
	.ufm-land{grid-template-columns:minmax(0,1fr);gap:26px;min-height:0}
	.ufm-cols{grid-template-columns:minmax(0,1fr);gap:30px}
	.ufm .ufm-jump{display:inline-flex}
	.ufm-keys{display:none}
	.ufm-drag{display:inline}
}
@media (max-width:560px){
	.ufm-box{padding:18px}
	.ufm-bar{gap:10px}
	.ufm .ufm-people{order:3;width:100%}
	.ufm .ufm-btn{padding:0 15px;font-size:13.5px}
	.ufm.is-room{margin-top:1rem!important}
	.ufm-bar{margin-bottom:14px}
	.ufm .ufm-act{padding:0 18px}
	.ufm .ufm-act-no,.ufm .ufm-act-yes{min-width:88px}
}
@media (prefers-reduced-motion:reduce){.ufm-card.is-top,.ufm-win,.ufm-win-box,.ufm-confetti i,.ufm .ufm-people.is-wait:before{animation:none}.ufm-confetti{display:none}}
/* on a phone the message appears under the header, not over the yes/no buttons */
@media (max-width:1000px){.ufm-toast{bottom:auto;top:calc(84px + env(safe-area-inset-top,0px))}.ufm-toast.is-in{animation-name:ufmToastTop}}
@keyframes ufmToastTop{from{transform:translate(-50%,-14px);opacity:0}}

/* ── the moving background ── */
.ufm-bg{position:absolute;z-index:-1;top:-140px;bottom:-30px;left:0;width:100%;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 110px,#000 calc(100% - 140px),transparent);mask-image:linear-gradient(180deg,transparent 0,#000 110px,#000 calc(100% - 140px),transparent)}
.ufm-wall{position:absolute;inset:-22% -6%;display:flex;justify-content:space-between;gap:2.2vw;transform:rotate(-7deg);opacity:.3;transition:opacity .8s ease}
/* one strip of film: a dark band, sprocket holes down both edges, posters as its frames */
.ufm-strip{position:relative;flex:1 1 0;min-width:0;max-width:210px;padding:0 15px;background:#0c0910;overflow:hidden}
.ufm-strip:before,.ufm-strip:after{content:"";position:absolute;top:0;bottom:0;width:9px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.42) 0 11px,transparent 11px 26px);border-radius:2px}
.ufm-strip:before{left:3px}.ufm-strip:after{right:3px}
.ufm-reel{display:flex;flex-direction:column;animation:ufmReel var(--d,80s) linear infinite;will-change:transform}
.ufm-strip.is-up .ufm-reel{animation-direction:reverse}
.ufm-reel span{display:block;padding:5px 0}
.ufm-reel img:not([src]){visibility:hidden}
.ufm-reel span{background:#17121c;border-radius:5px;background-clip:content-box}
.ufm-reel img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:5px;filter:saturate(.9)}
@keyframes ufmReel{from{transform:translateY(0)}to{transform:translateY(-50%)}}
/* the projector: a soft cone of light that sways a little */
.ufm-beam{position:absolute;top:-20%;right:-6%;width:70%;height:150%;background:conic-gradient(from 205deg at 100% 0,transparent 0deg,rgba(255,45,120,.2) 14deg,rgba(176,38,255,.14) 30deg,transparent 46deg);filter:blur(26px);transform-origin:100% 0;animation:ufmBeam 13s ease-in-out infinite alternate}
@keyframes ufmBeam{from{transform:rotate(-5deg);opacity:.65}to{transform:rotate(6deg);opacity:1}}
.ufm-amb i{position:absolute;inset:-8%;background-size:cover;background-position:center;filter:blur(64px) saturate(1.5);opacity:0;transition:opacity 1s ease}
.ufm-amb i.is-on{opacity:.5}
/* keeps the words readable: darker where the text sits, open where the strips show */
.ufm-veil{position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 30% 46%,rgba(13,10,17,.9),rgba(13,10,17,.62) 55%,rgba(13,10,17,.3)),linear-gradient(90deg,rgba(13,10,17,.55),transparent 30%,transparent 70%,rgba(13,10,17,.45))}
.ufm.is-room .ufm-wall{opacity:.1}
.ufm.is-room .ufm-beam{opacity:.5;animation:none}
.ufm.is-room .ufm-veil{background:radial-gradient(ellipse 70% 80% at 50% 45%,rgba(13,10,17,.5),rgba(13,10,17,.8))}
.ufm-box{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(160deg,rgba(34,27,41,.88),rgba(22,17,27,.88))}
@media (max-width:1000px){
	.ufm-wall{inset:-10% -30%;opacity:.22;gap:12px}
	.ufm-strip:nth-child(n+5){display:none}
	.ufm-veil{background:linear-gradient(180deg,rgba(13,10,17,.72),rgba(13,10,17,.82))}
	.ufm-amb i{filter:blur(44px) saturate(1.4)}
}
@media (prefers-reduced-motion:reduce){.ufm-reel,.ufm-beam{animation:none}}

/* ── the room is one screen ── */
body.ufm-in-room footer#colophon,body.ufm-in-room footer.site-footer,body.ufm-in-room .rvk-foot{display:none!important}
.ufm.is-room{padding-bottom:0}
.ufm.is-room .ufm-stack{height:clamp(270px,calc(100dvh - var(--ufm-top,130px) - var(--ufm-bar,64px) - 168px),640px);min-height:0}
@media (min-width:1001px) and (min-height:600px){
	html:has(body.ufm-in-room),body.ufm-in-room{overflow:hidden!important}
	.ufm.is-room{margin-top:1.4rem!important}
	.ufm.is-room .ufm-room{display:flex;flex-direction:column;height:calc(100dvh - var(--ufm-top,130px) - 12px)}
	.ufm.is-room .ufm-bar{flex:0 0 auto;margin-bottom:18px}
	.ufm.is-room .ufm-cols{flex:1 1 0;min-height:0;align-items:stretch}
	.ufm.is-room .ufm-stage{align-content:start;min-height:0}
	.ufm.is-room .ufm-side{min-height:0;overflow-y:auto;align-content:start;padding-right:10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
	.ufm.is-room .ufm-side::-webkit-scrollbar{width:6px}
	.ufm.is-room .ufm-side::-webkit-scrollbar-thumb{border-radius:6px;background:rgba(255,255,255,.22)}
}
/* tally, cut, hearts, burst */
.ufm-tally{display:inline-flex;gap:6px;font-variant-numeric:tabular-nums}
.ufm-tally b{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:99px;border:1px solid var(--ln);font-size:12.5px;font-weight:700}
.ufm-tally i{font-style:normal}
.ufm-tally-no{color:#ff8d9b}.ufm-tally-yes{color:#7df0c4}
.ufm-slash{position:absolute;left:-10%;top:50%;width:120%;height:5px;border-radius:5px;background:linear-gradient(90deg,transparent,#fff 20%,#fff 80%,transparent);box-shadow:0 0 18px 4px rgba(255,255,255,.8),0 0 40px 10px rgba(255,45,120,.7);transform:rotate(-32deg) scaleX(0);transform-origin:0 50%;animation:ufmSlash .22s ease-out forwards;pointer-events:none}
@keyframes ufmSlash{to{transform:rotate(-32deg) scaleX(1)}}
.ufm-acts{position:relative}
.ufm-heart{position:absolute;right:42px;bottom:36px;font-style:normal;font-size:20px;color:var(--ok);pointer-events:none;animation:ufmHeart var(--t,.9s) ease-out forwards;text-shadow:0 0 12px rgba(25,201,138,.8)}
@keyframes ufmHeart{from{opacity:1;transform:translate(0,0) scale(.6)}to{opacity:0;transform:translate(var(--x,0),-150px) scale(1.5) rotate(18deg)}}
.ufm-burst{position:fixed;inset:0;z-index:99990;display:grid;place-content:center;justify-items:center;gap:8px;padding:20px;text-align:center;pointer-events:none;background:radial-gradient(circle at 50% 46%,rgba(255,45,120,.34),rgba(13,10,17,.72) 46%,transparent 72%)}
.ufm-burst.is-heart{background:radial-gradient(circle at 50% 46%,rgba(25,201,138,.3),rgba(13,10,17,.72) 46%,transparent 72%)}
.ufm-burst.is-in{animation:ufmBurst 2.6s ease forwards}
@keyframes ufmBurst{0%{opacity:0}8%{opacity:1}80%{opacity:1}100%{opacity:0}}
.ufm-burst-icon{position:relative;display:grid;place-items:center;width:120px;height:120px;font-size:84px;line-height:1;color:var(--ok);filter:drop-shadow(0 0 26px rgba(255,255,255,.75))}
.ufm-burst.is-chop .ufm-burst-icon{animation:ufmChop .5s cubic-bezier(.3,1.6,.5,1) 3}
@keyframes ufmChop{0%{transform:rotate(-34deg) translateY(-26px)}55%{transform:rotate(16deg) translateY(10px)}100%{transform:rotate(-34deg) translateY(-26px)}}
.ufm-burst.is-heart .ufm-burst-icon{animation:ufmBeat .5s ease-in-out 4}
@keyframes ufmBeat{50%{transform:scale(1.25)}}
.ufm .ufm-burst-t{font-size:clamp(26px,4.6vw,52px);line-height:1.15;font-weight:900;color:#fff;text-shadow:0 0 30px rgba(255,45,120,.9),0 4px 18px rgba(0,0,0,.7);animation:ufmPop .45s cubic-bezier(.2,1.4,.4,1)}
.ufm-burst.is-heart .ufm-burst-t{text-shadow:0 0 30px rgba(25,201,138,.9),0 4px 18px rgba(0,0,0,.7)}
.ufm .ufm-burst-s{font-size:clamp(14px,1.6vw,18px);font-weight:700;color:#f3eef6;text-shadow:0 2px 10px rgba(0,0,0,.8)}
.ufm-sparks{position:absolute;left:50%;top:46%;width:0;height:0}
.ufm-sparks i{position:absolute;left:-3px;top:-3px;width:6px;height:22px;border-radius:6px;background:linear-gradient(#fff,#ffc93c);box-shadow:0 0 14px 2px rgba(255,201,60,.9);transform:rotate(var(--a)) translateY(0);opacity:0;animation:ufmSpark .9s ease-out .1s forwards}
.ufm-burst.is-heart .ufm-sparks i{background:linear-gradient(#fff,#19c98a);box-shadow:0 0 14px 2px rgba(25,201,138,.9)}
@keyframes ufmSpark{0%{opacity:1;transform:rotate(var(--a)) translateY(-30px) scaleY(.4)}100%{opacity:0;transform:rotate(var(--a)) translateY(calc(var(--r) * -1)) scaleY(1)}}
@media (prefers-reduced-motion:reduce){.ufm-slash,.ufm-heart,.ufm-sparks{display:none}.ufm-burst-icon{animation:none!important}}

/* ── the live links between people ── */
.ufm-who{display:grid;gap:6px;padding-bottom:14px;border-bottom:1px solid var(--ln)}
.ufm-who-row{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:12px;border:1px solid var(--ln);background:var(--sf);font-size:13px;color:var(--mu)}
.ufm-who-row b{color:#fff;font-weight:700}
.ufm-who-row span{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums}
.ufm-who-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#6f6579}
.ufm-who-row.is-on .ufm-who-dot{background:var(--ok);box-shadow:0 0 0 4px rgba(25,201,138,.18)}
.ufm-who-row.is-pulse{animation:ufmWho .9s ease}
@keyframes ufmWho{0%{border-color:var(--pk);background:rgba(255,45,120,.2);transform:scale(1.02)}100%{border-color:var(--ln);background:var(--sf);transform:none}}
.ufm-match-tx em{font-style:normal;font-size:11.5px;color:var(--mu)}
.ufm-match-tx em.is-go{color:#ffc93c}
.ufm .ufm-win-other{min-height:20px;padding:7px 14px;border-radius:99px;background:var(--sf2);font-size:13px;font-weight:700;color:#d9d0e2}
.ufm .ufm-win-other:empty{display:none}
.ufm .ufm-win-other.is-go{background:rgba(255,201,60,.16);color:#ffc93c}
.ufm .ufm-win-other.is-stay{background:rgba(255,255,255,.08);color:#fff}
.ufm-win.is-wait .ufm-win-box{border-color:rgba(255,201,60,.6)}
.ufm-nudge{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:100000;transform:translateX(-50%);display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;width:min(560px,calc(100vw - 24px));padding:14px 16px;border-radius:18px;border:1px solid rgba(255,201,60,.6);background:#1b1521;box-shadow:0 24px 60px rgba(0,0,0,.6),0 0 0 4px rgba(255,201,60,.12);animation:ufmToast .3s ease}
.ufm-nudge img{flex:0 0 46px;width:46px;height:69px;border-radius:8px;object-fit:cover}
.ufm-nudge-tx{display:grid;gap:3px;flex:1 1 160px;min-width:0}
.ufm-nudge-tx b{font-size:15px;color:#ffc93c}
.ufm-nudge-tx span{font-size:13.5px;color:#fff;overflow-wrap:anywhere}
.ufm-nudge-acts{display:flex;gap:8px}
.ufm .ufm-nudge .ufm-btn{min-height:40px;padding:0 16px;font-size:13.5px;box-shadow:none}

/* ── უჯიკე: the poke ── */
.ufm .ufm-poke{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:16px;border:0;background:linear-gradient(180deg,#ffd84d,#ff9f1a);color:#3a1d00;box-shadow:0 6px 0 #b85f00,0 14px 26px rgba(255,159,26,.35);transform:translateY(0);transition:transform .08s,box-shadow .08s;perspective:300px}
.ufm .ufm-poke:hover{transform:translateY(-1px)}
.ufm .ufm-poke:active{transform:translateY(5px);box-shadow:0 1px 0 #b85f00,0 4px 10px rgba(255,159,26,.3)}
.ufm-poke-3d{display:inline-block;font-size:19px;font-weight:900;letter-spacing:.03em;color:#fff;text-shadow:0 1px 0 #ffcf8a,0 2px 0 #e98a12,0 3px 0 #d47a0a,0 4px 0 #b85f00,0 6px 10px rgba(0,0,0,.4);transform:rotateX(18deg) rotateZ(-3deg);animation:ufmPoke3d 2.2s ease-in-out infinite alternate}
@keyframes ufmPoke3d{from{transform:rotateX(18deg) rotateY(-14deg) rotateZ(-3deg)}to{transform:rotateX(18deg) rotateY(14deg) rotateZ(2deg)}}
.ufm-poke-hand{display:inline-block;font-size:24px;line-height:1;animation:ufmJab 1s ease-in-out infinite}
@keyframes ufmJab{0%,100%{transform:translateX(-3px)}50%{transform:translateX(5px)}}
.ufm .ufm-poke.is-jab{animation:ufmJabBtn .35s ease}
@keyframes ufmJabBtn{30%{transform:translate(8px,3px) scale(.96)}60%{transform:translate(-3px,0)}}
.ufm .ufm-poke-sm{min-height:38px;padding:0 12px;margin:6px 0 0 56px;border-radius:12px;box-shadow:0 4px 0 #b85f00}
.ufm .ufm-poke-sm .ufm-poke-3d{font-size:14px}.ufm .ufm-poke-sm .ufm-poke-hand{font-size:17px}
.ufm-nudge-logo{display:none}
.ufm-nudge.is-poke{flex-direction:column;text-align:center;bottom:auto;top:50%;transform:translate(-50%,-50%);width:min(400px,calc(100vw - 24px));padding:24px 20px;gap:12px;border-color:#ff9f1a;box-shadow:0 30px 80px rgba(0,0,0,.7),0 0 0 6px rgba(255,159,26,.22),0 0 80px rgba(255,159,26,.35);animation:ufmPokeIn .5s cubic-bezier(.2,1.5,.4,1)}
@keyframes ufmPokeIn{from{transform:translate(-50%,-50%) scale(.6) rotate(-6deg);opacity:0}}
.ufm-nudge.is-poke .ufm-nudge-logo{display:flex;align-items:center;gap:12px;perspective:400px}
.ufm-nudge.is-poke .ufm-nudge-logo .ufm-poke-3d{font-size:44px}
.ufm-nudge.is-poke .ufm-nudge-logo .ufm-poke-hand{font-size:50px;animation-duration:.45s}
.ufm-nudge.is-poke img{flex:0 0 auto;width:96px;height:144px;border-radius:12px}
.ufm-nudge.is-poke .ufm-nudge-tx{flex:0 0 auto}
.ufm-nudge.is-poke .ufm-nudge-tx b{font-size:20px;color:#ffb347}
.ufm-nudge.is-poke .ufm-nudge-tx span{font-size:14.5px;line-height:1.5}
.ufm-nudge.is-poke .ufm-nudge-acts{width:100%}
.ufm-nudge.is-poke .ufm-nudge-acts .ufm-btn{flex:1}
body.ufm-shaking .ufm-room,body.ufm-shaking #masthead,body.ufm-shaking .rvk-top{animation:ufmShake .8s cubic-bezier(.36,.07,.19,.97)}
@keyframes ufmShake{10%,90%{transform:translate(-3px,1px) rotate(-.4deg)}20%,80%{transform:translate(7px,-2px) rotate(.6deg)}30%,50%,70%{transform:translate(-12px,3px) rotate(-.9deg)}40%,60%{transform:translate(12px,-3px) rotate(.9deg)}}
@media (prefers-reduced-motion:reduce){body.ufm-shaking .ufm-room,body.ufm-shaking #masthead,body.ufm-shaking .rvk-top,.ufm-poke-3d,.ufm-poke-hand{animation:none}}

/* ── sharing the results ── */
.ufm-end-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.ufm .ufm-btn-share{min-height:50px;font-size:15px;border-color:rgba(255,201,60,.55);background:rgba(255,201,60,.12);color:#ffd977}
.ufm .ufm-btn-share:hover{background:rgba(255,201,60,.2);color:#ffe9a8}
.ufm .ufm-share-side{min-height:42px;font-size:13.5px;justify-self:start}
.ufm-sharebox{position:fixed;inset:0;z-index:100002;display:grid;place-items:center;padding:14px;background:rgba(8,5,12,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:ufmFade .2s ease;overflow-y:auto}
.ufm-sharebox-in{position:relative;display:grid;justify-items:center;gap:14px;width:min(430px,100%);padding:22px 20px;border-radius:24px;border:1px solid rgba(255,201,60,.45);background:#17121c;animation:ufmPop .3s cubic-bezier(.2,1.3,.4,1)}
.ufm .ufm-sharebox-in h2{font-size:20px;font-weight:800;color:#fff}
.ufm-sharebox-in img{width:auto;max-width:100%;height:auto;max-height:min(56vh,520px);border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.6);background:#0d0a11}
.ufm-sharebox-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.ufm .ufm-sharebox-acts .ufm-btn{min-height:46px;padding:0 10px;font-size:14px;box-shadow:none}
.ufm .ufm-sharebox-acts .ufm-btn-main{grid-column:1/-1}
.ufm .ufm-sh-fb{background:#1877f2;border-color:#1877f2;color:#fff}
.ufm .ufm-sh-fb:hover{background:#2b84f5;color:#fff}
.ufm .ufm-sharebox-x{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--ln);background:var(--sf);color:#fff;font-size:22px;line-height:1}
.ufm-shared{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:40px;align-items:center;margin-bottom:46px;padding-bottom:40px;border-bottom:1px solid var(--ln)}
.ufm-shared img{width:100%;height:auto;border-radius:20px;box-shadow:0 30px 70px rgba(0,0,0,.55)}
.ufm-shared-tx{display:grid;gap:16px;justify-items:start}
.ufm .ufm-shared h1{font-size:clamp(28px,4vw,48px);line-height:1.15;font-weight:800;color:#fff;text-wrap:balance}
.ufm .ufm-shared h1 span{color:var(--pk)}
.ufm-shared .ufm-lead b{color:#fff}
.ufm.is-room .ufm-shared{display:none}
#ufm-land{scroll-margin-top:110px}
@media (max-width:760px){.ufm-shared{grid-template-columns:minmax(0,1fr);gap:22px;justify-items:center}.ufm-shared img{max-width:300px}}

/* rasvukuro.com: the .tv theme gave .ufm Bootstrap's .container (centred, side padding); here the page gutter is ours */
.rvk-main>.ufm.container{width:100%;max-width:1440px;margin:12px auto 0;padding-left:28px;padding-right:28px}
@media (max-width:760px){.rvk-main>.ufm.container{padding-left:16px;padding-right:16px;margin-top:4px}}
