/* Last Card: the table, the cards and the sheets. Every class starts with lc-. */
.lc-root{padding-top:6px}
.lc{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}

/* ---------- cards ---------- */
.lc-card{position:relative;flex:0 0 auto;display:block;width:6.4em;height:9em;font-size:10px;padding:0;margin:0;border-radius:.95em;border:.3em solid var(--cream);background:var(--cc);color:var(--cream);overflow:hidden;
  box-shadow:0 .35em .9em rgba(0,0,0,.45);-webkit-tap-highlight-color:transparent;transition:transform .18s cubic-bezier(.3,1.3,.5,1),filter .18s,box-shadow .18s;font-family:var(--body);text-align:left}
button.lc-card{cursor:pointer;font-size:10px}
.lc-r{--cc:#FF5C8A}.lc-y{--cc:#F2B84B}.lc-g{--cc:#38C793}.lc-b{--cc:#8C7CF0}.lc-w{--cc:#2A1028}
.lc-card::before{content:"";position:absolute;inset:.45em;border-radius:.6em;border:.1em solid rgba(255,244,234,.38);pointer-events:none}
.lc-w::before{border-color:rgba(255,244,234,.22)}
.lc-emb{position:absolute;left:50%;top:50%;width:5.1em;height:4.6em;transform:translate(-50%,-47%) rotate(-12deg);pointer-events:none}
.lc-heart{position:absolute;inset:0;background:var(--cream);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 90'%3E%3Cpath d='M50 88C20 66 2 48 2 28 2 12 14 2 28 2c10 0 18 6 22 14C54 8 62 2 72 2c14 0 26 10 26 26 0 20-18 38-48 60z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 90'%3E%3Cpath d='M50 88C20 66 2 48 2 28 2 12 14 2 28 2c10 0 18 6 22 14C54 8 62 2 72 2c14 0 26 10 26 26 0 20-18 38-48 60z'/%3E%3C/svg%3E") center/contain no-repeat}
.lc-w .lc-heart{background:conic-gradient(from 0deg at 50% 46%,#FF5C8A 0 25%,#F2B84B 0 50%,#38C793 0 75%,#8C7CF0 0)}
.lc-gl{position:absolute;inset:0;display:grid;place-items:center;padding-bottom:.55em;color:var(--cc)}
.lc-gl svg{width:2.3em;height:2.3em;display:block}
.lc-num{font-family:var(--display);font-weight:700;font-size:2.35em;line-height:1;letter-spacing:-.04em}
.lc-plus{font-size:1.75em;letter-spacing:-.06em}
.lc-u{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.06em}
.lc-w .lc-gl{color:var(--cream)}
.lc-w .lc-num{text-shadow:0 0 .1em #2A1028,0 0 .22em #2A1028,0 0 .3em #2A1028}
.lc-w .lc-gl svg{filter:drop-shadow(0 0 .12em #2A1028) drop-shadow(0 0 .12em #2A1028)}
.lc-ix{position:absolute;left:.42em;top:.32em;font-family:var(--display);font-weight:700;font-size:1.3em;line-height:1;color:var(--cream);letter-spacing:-.04em;pointer-events:none}
.lc-ix svg{width:1em;height:1em;display:block}
.lc-ix2{left:auto;top:auto;right:.42em;bottom:.32em;transform:rotate(180deg)}
.lc-bk{background-color:#3B1440;background-image:radial-gradient(circle at 50% 50%,transparent .7em,rgba(255,92,138,.32) .8em,transparent .95em);background-size:2em 2em;border:.22em solid #5B2A5A;display:grid;place-items:center}
.lc-bk::before{display:none}
.lc-bk svg{width:62%;height:auto}

/* ---------- table ---------- */
.lc-banner{background:#2B200A;border:1px dashed var(--gold);color:#FFE7B0;border-radius:12px;padding:9px 12px;font-size:14px;text-align:center}
.lc-top{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px}
.lc-pl{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 6px;font-size:14px;color:var(--fg);max-width:100%}
.lc-pl i{width:20px;height:20px;border-radius:50%;flex:0 0 20px}
.lc-pl .lc-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:9.5em;font-weight:600}
.lc-pl b{font-family:var(--mono);font-size:13px;color:var(--muted);font-weight:500}
.lc-pl.lc-act{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
.lc-badge{font-family:var(--mono);font-size:11px;background:var(--gold);color:#3A2202;border-radius:999px;padding:3px 8px;animation:lc-pulse 1.2s ease-in-out infinite}
.lc-lay{font-family:var(--mono);font-size:11px;color:var(--rose);border:1px solid #6A2B42;border-radius:999px;padding:2px 8px}
.lc-menu{min-height:40px}
.lc-fan{display:flex;align-items:center;justify-content:center;min-height:46px;padding-left:18px}
.lc-fan .lc-card{font-size:4.4px;margin-left:-18px;box-shadow:0 2px 5px rgba(0,0,0,.4)}
.lc-fan .lc-card:nth-child(odd){transform:translateY(1px) rotate(-2deg)}
.lc-fn{font-family:var(--display);font-size:15px;margin-left:10px;color:var(--fg)}
.lc-mid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:2px 0}
.lc-pile{justify-self:end;position:relative;background:none;border:0;padding:6px;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:72px;-webkit-tap-highlight-color:transparent}
.lc-pile .lc-card{font-size:9.2px}
.lc-pile .lc-pn{position:absolute;top:2px;right:0;font-family:var(--mono);font-size:11px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:1px 7px;color:var(--muted)}
.lc-pile .lc-pt{font-family:var(--mono);font-size:12px;color:var(--gold)}
.lc-pile.lc-can .lc-card{box-shadow:0 0 0 3px var(--gold),0 0 22px rgba(242,184,75,.45);animation:lc-nudge 1.6s ease-in-out infinite}
.lc-pile[aria-disabled="true"]{cursor:default}
.lc-disc{display:flex;flex-direction:column;align-items:center;gap:8px}
.lc-ring{padding:5px;border-radius:17px;box-shadow:0 0 0 4px var(--rc),0 0 30px 6px var(--rg);transition:box-shadow .4s}
.lc-ring .lc-card{font-size:14.2px}
.lc-ring.lc-pop{animation:lc-pop .5s cubic-bezier(.3,1.4,.5,1)}
.lc-lane{font-family:var(--mono);font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;white-space:nowrap}
.lc-lane i{width:10px;height:10px;border-radius:50%}
.lc-side{justify-self:start;display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:11.5px;color:var(--muted)}
.lc-heat span{display:block;margin-bottom:3px}
.lc-heat div{display:flex;gap:3px}
.lc-heat i{width:9px;height:16px;border-radius:3px;background:var(--line)}
.lc-heat i.on{background:var(--hc)}
.lc-heat i.x{opacity:.3;background:repeating-linear-gradient(135deg,var(--line) 0 2px,transparent 2px 4px)}
.lc-prompt{margin:4px 0 0}
.lc-prompt em{font-style:normal;color:var(--rose)}
.lc-hint{margin:0;text-align:center;font-size:13.5px;color:var(--gold)}
.lc-acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.lc-acts:empty{display:none}
.lc-acts .btn{min-height:44px}
.lc-catch{background:var(--ok);color:#06261A}
.lc-pulse{animation:lc-pulse 1s ease-in-out infinite}
.lc-log{font-family:var(--mono);font-size:11.5px;color:var(--muted);text-align:center;line-height:1.5;min-height:34px}
.lc-log div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lc-log div:last-child{color:var(--fg)}
.lc-merow{display:flex;justify-content:space-between;align-items:center;gap:10px}
.lc-cnt2{font-family:var(--mono);font-size:12px;color:var(--muted)}
.lc-handwrap{overflow-x:auto;overflow-y:hidden;margin:0 -16px;padding:18px 16px 12px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.lc-hand{display:flex;width:max-content;margin:0 auto;padding:0 6px}
.lc-hand .lc-card+.lc-card{margin-left:-10px}
.lc-hand.lc-tight .lc-card+.lc-card{margin-left:-20px}
.lc-hand .lc-card{filter:brightness(.5) saturate(.65)}
.lc-hand.lc-idle .lc-card{filter:brightness(.88)}
.lc-hand .lc-card.lc-ok{filter:none;transform:translateY(-14px);box-shadow:0 .9em 1.4em rgba(0,0,0,.5),0 0 0 2px rgba(255,244,234,.25)}
.lc-hand .lc-card.lc-jump{box-shadow:0 0 0 3px var(--gold),0 .9em 1.4em rgba(0,0,0,.5)}
.lc-hand .lc-card.lc-ok:hover{transform:translateY(-18px)}
.lc-card:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.lc-pile:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.lc-wait .lc-hand,.lc-wait .lc-acts,.lc-wait .lc-pile{opacity:.6;pointer-events:none}
.lc-dots{display:inline-block;width:1.4em;text-align:left}
.lc-dots::after{content:"…";animation:lc-blink 1s steps(2) infinite}

/* animations */
.lc-from-me{animation:lc-in-me .38s cubic-bezier(.25,1.2,.5,1)}
.lc-from-opp{animation:lc-in-opp .38s cubic-bezier(.25,1.2,.5,1)}
.lc-hand .lc-new{animation:lc-draw .42s cubic-bezier(.25,1.2,.5,1) backwards}
.lc-newb{animation:lc-draw-o .38s ease-out backwards}
@keyframes lc-in-me{from{transform:translateY(260px) rotate(-14deg) scale(.6);opacity:.2}}
@keyframes lc-in-opp{from{transform:translateY(-190px) rotate(12deg) scale(.4);opacity:.2}}
@keyframes lc-draw{from{transform:translate(-90px,-300px) scale(.6) rotate(-10deg);opacity:0}}
@keyframes lc-draw-o{from{transform:translateY(150px) scale(1.6);opacity:0}}
@keyframes lc-pop{0%{transform:scale(.88)}100%{transform:none}}
@keyframes lc-pulse{0%,100%{box-shadow:0 0 0 0 rgba(242,184,75,.55)}50%{box-shadow:0 0 0 7px rgba(242,184,75,.18);filter:brightness(1.12)}}
@keyframes lc-nudge{50%{transform:translateY(-3px)}}
@keyframes lc-blink{50%{opacity:.2}}

/* hand-over (one phone) */
.lc-pass{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:18px;border-color:var(--gold)}
.lc-passi{width:64px;height:64px}
.lc-passt{font-family:var(--display);font-weight:700;font-size:clamp(20px,6vw,26px);line-height:1.15;margin:0}
.lc-passt em{font-style:normal;color:var(--rose)}

/* ---------- sheets ---------- */
.lc-sheet{max-height:none}
.lc-c{text-align:center;margin:0}
.lc-busy button{pointer-events:none;opacity:.55}
.lc-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lc-colbtn{background:var(--cc);color:#1A0610;border:3px solid var(--cream);border-radius:18px;padding:12px 10px;min-height:118px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left}
.lc-colbtn b{font-family:var(--display);font-size:18px;font-weight:700}
.lc-colbtn span{font-size:13px;font-weight:600;line-height:1.3}
.lc-colbtn small{font-size:11.5px;opacity:.8;line-height:1.3}
.lc-colbtn em{font-style:normal;font-family:var(--mono);font-size:11px;margin-top:auto;opacity:.85}
.lc-colbtn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.lc-opts{display:grid;gap:8px}
.lc-opt{text-align:left;background:var(--cream);color:var(--ink);border:0;border-radius:16px;padding:12px 14px;cursor:pointer;font-size:15px;font-weight:600;line-height:1.35;display:flex;flex-direction:column;gap:6px;min-height:44px}
.lc-optl{align-self:flex-start;font-family:var(--mono);font-size:11px;font-weight:500;background:var(--lc);color:#1A0610;border-radius:999px;padding:3px 9px}
.lc-own{display:flex;flex-direction:column;gap:8px;padding:14px}
.lc-pays{display:grid;gap:10px}
.lc-payb{text-align:left;background:var(--surface);border:1px solid var(--line);color:var(--fg);border-radius:18px;padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:3px;min-height:56px}
.lc-payb b{font-family:var(--display);font-weight:500;font-size:16px}
.lc-payb span{font-size:13.5px;color:var(--muted)}
.lc-payb.lc-pd{border-color:var(--rose);background:#2A1424}
.lc-payb.lc-pl2{border-color:var(--gold)}
.lc-info{max-height:calc(100vh - 32px)}
.lc-menu-l{display:grid;gap:10px}
.lc-menu-l .btn{min-height:48px}
.lc-how{max-height:60vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:6px 16px 12px;font-size:14.5px;line-height:1.5}
.lc-how h3{font-family:var(--display);font-weight:500;font-size:15px;color:var(--gold);margin:14px 0 6px}
.lc-how ul{margin:0;padding-left:18px}
.lc-how li{margin:0 0 7px}
.lc-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;font-size:14px;max-height:60vh;overflow-y:auto}
.lc-dl dt{color:var(--muted)}
.lc-dl dd{margin:0;text-align:right}

/* ---------- round end ---------- */
.lc-end{padding:12px 0 6px;gap:12px}
.lc-end p.big{font-size:clamp(26px,8vw,40px)}
.lc-win{border-color:var(--gold)}
.lc-win b{color:var(--gold)}
.lc-reveal{display:grid;gap:10px;width:100%}
.lc-rv{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 12px;text-align:left}
.lc-rvh{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;color:var(--muted);margin-bottom:8px}
.lc-rvh span:first-child{display:flex;align-items:center;gap:6px;color:var(--fg)}
.lc-rvh i{width:10px;height:10px;border-radius:50%}
.lc-mini{display:flex;flex-wrap:wrap;gap:4px}
.lc-mini .lc-card{font-size:5.2px;border-width:.35em}
.lc-mini .lc-card::before{display:none}
.lc-dnote{margin:0;color:var(--gold);font-size:15px}

/* ---------- start, rules and lobby ---------- */
.lc-start{padding-top:18px}
.lc-hero{display:flex;justify-content:center;height:112px;align-items:flex-end;margin-bottom:10px}
.lc-heroc{display:block;margin:0 -10px;transform:rotate(calc(var(--i) * 12deg)) translateY(calc(var(--i) * var(--i) * 10px))}
.lc-heroc .lc-card{font-size:11px}
.lc-start .vopt.on{border-color:var(--rose);background:#2A1424}
.lc-f{width:100%;display:flex;flex-direction:column;gap:10px}
.lc-f:empty{display:none}
.lc-f label.f,.lc-own label.f{flex:0 0 auto}
.lc-f .row label.f{flex:1 1 140px}
.lc-res{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;border-color:var(--gold);padding:14px}
.lc-res div{display:flex;flex-direction:column;min-width:0}
.lc-res span{font-size:13px;color:var(--muted)}
.lc-res .btn{flex:0 0 auto}
.lc-rules{display:flex;flex-direction:column;gap:12px;padding:6px 0 30px}
.lc-rules h1.title{margin:6px 0 4px}
.lc-rules .sect{margin:12px 0 0}
.lc-rules .vopt{padding:14px 16px}
.lc-tg{display:grid;gap:14px}
.lc-dis{opacity:.5;cursor:default}
.lc-segrow{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:14.5px}
.lc-seg{flex-wrap:wrap}
.lc-seg button{min-height:40px}
.lc-note{margin:4px 0}
.lc-lobby{padding-top:14px}
.lc-qrt{color:#2A1028;margin:0;text-align:center;font-size:14px;max-width:190px}
.lc-stat{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;font-size:15px}
.lc-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:1px}
.lc-dok{background:var(--ok);box-shadow:0 0 0 4px rgba(56,199,147,.2)}
.lc-dw{background:var(--gold);animation:lc-blink 1.2s ease-in-out infinite}
.lc-gwait{padding-top:40px}

@media (max-width:370px){.lc-ring .lc-card{font-size:12.6px}.lc-pile .lc-card{font-size:8px}.lc-mid{gap:6px}.lc-colbtn{min-height:108px}}
@media (min-height:800px){.lc-ring .lc-card{font-size:15px}}
@media (prefers-reduced-motion:reduce){.lc-hand .lc-card.lc-ok{transform:translateY(-14px)}}
.lc-own .err:empty,.lc-start .err:empty{min-height:0}
