.fd{--fd-row: clamp(28px, calc((var(--tg-stage-h) - 132px) / 8), 40px);--fd-roll: .52s;--fd-ivory: #fffcf4;--fd-ivory-2: #ece2cf;--fd-pip: #2a1f16;--fd-felt: color-mix(in srgb, var(--leaf) 20%, var(--bg-2));user-select:none;-webkit-user-select:none}:root[data-look=dusk] .fd{--fd-felt: color-mix(in srgb, var(--leaf) 26%, var(--bg-2))}.fd-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.fd-half{display:grid;grid-template-rows:22px;grid-auto-rows:var(--fd-row);min-width:0;border-radius:12px;background:var(--cell);box-shadow:inset 0 0 0 1px var(--line),var(--shadow);overflow:hidden}.fd-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 40px 40px;align-items:stretch;min-width:0;min-height:0;margin:0;padding:0 0 0 7px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:default;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.fd-row.is-head{border-top:0;background:var(--bg-2);align-items:center}.fd-row.is-head .fd-label{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.fd-label{display:flex;align-items:center;gap:5px;min-width:0;font-size:.84rem;line-height:1.1;white-space:nowrap;overflow:hidden}.fd-label>span{overflow:hidden;text-overflow:ellipsis}.fd-label small{font-size:.7rem;color:var(--ink-2);font-weight:600}.fd-mini{width:15px;height:15px;flex:none;color:var(--ink-2)}.fd-mini rect{fill:none;stroke:currentColor;stroke-width:1.6}.fd-mini circle{fill:currentColor}.fd-who{display:grid;place-items:center;height:18px;margin:0 3px;border-radius:999px;overflow:hidden;white-space:nowrap;font-size:.66rem;font-weight:800;color:var(--ink);background:color-mix(in srgb,var(--tg-c) 32%,var(--cell))}.fd-v{display:grid;place-items:center;min-width:0;font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums;line-height:1}.fd-card[data-turn="0"] .fd-row:not(.is-head) .fd-v[data-p="0"],.fd-card[data-turn="1"] .fd-row:not(.is-head) .fd-v[data-p="1"]{background:color-mix(in srgb,var(--tg-c) 9%,transparent)}.fd.is-over .fd-card .fd-row:not(.is-head) .fd-v{background:transparent}.fd-v.is-pot{color:color-mix(in srgb,var(--tg-c) 62%,var(--ink));font-weight:600}.fd-v.is-zero{color:var(--ink-2);opacity:.55;font-weight:500}.fd-v small{font-size:.62rem;font-weight:600;color:var(--ink-2);letter-spacing:-.02em}.fd-row.is-pickable{cursor:pointer}.fd-row.is-pickable:active{background:color-mix(in srgb,var(--tg-c) 14%,transparent)}@media(hover:hover){.fd-row.is-pickable:hover{background:color-mix(in srgb,var(--tg-c) 10%,transparent)}}.fd-row.is-selected{background:color-mix(in srgb,var(--tg-c) 26%,var(--cell));box-shadow:inset 3px 0 0 var(--tg-c)}.fd-row.is-selected .fd-v.is-pot{color:var(--ink);font-weight:800}.fd-row:focus-visible{outline:3px solid var(--sun);outline-offset:-3px}.fd-row.is-hint{box-shadow:inset 0 0 0 2px var(--sun);animation:fd-glow calc(.8s * var(--motion)) ease-in-out infinite alternate}@keyframes fd-glow{to{background:color-mix(in srgb,var(--sun) 28%,transparent)}}.fd-row.is-nudge{animation:fd-shake calc(.3s * var(--motion)) ease-in-out}.fd-row.is-info{background:var(--bg-2);cursor:default}.fd-row.is-info .fd-label{font-size:.78rem;color:var(--ink-2);font-weight:600}.fd-row.is-info .fd-v{font-size:.86rem}.fd-v.is-got{color:var(--leaf)}.fd-row.is-total{background:color-mix(in srgb,var(--ink) 6%,var(--bg-2))}.fd-row.is-total .fd-label{color:var(--ink);font-weight:800;font-size:.86rem}.fd-row.is-total .fd-v{font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:-.02em}.fd-v.is-flash{animation:fd-flash calc(1.1s * var(--motion)) ease-out}@keyframes fd-flash{0%{background:color-mix(in srgb,var(--tg-c) 70%,transparent);transform:scale(1.25)}to{transform:none}}.fd-tray{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:8px;padding:12px 8px 9px;border-radius:14px;background:radial-gradient(120% 140% at 50% 0%,color-mix(in srgb,var(--fd-felt) 80%,white),var(--fd-felt));box-shadow:inset 0 2px 6px #0000001f}.fd-die{position:relative;flex:none;width:min(56px,17vw);aspect-ratio:1;margin:0;padding:0;border:0;border-radius:22%;background:linear-gradient(150deg,var(--fd-ivory) 30%,var(--fd-ivory-2));box-shadow:0 3px #cdbd9f,0 6px 10px #28190a38;cursor:default;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform calc(.14s * var(--motion)) ease-out,box-shadow calc(.14s * var(--motion))}.fd-face{position:absolute;inset:13%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));place-items:center}.fd-pip{width:74%;aspect-ratio:1;border-radius:50%;background:var(--fd-pip);opacity:0;box-shadow:inset 0 1.5px 1px #0000008c}.fd-pip.on{opacity:1}.fd-die[data-v="0"]{background:transparent;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--ink) 22%,transparent)}.fd.is-fresh .fd-die{opacity:.45;transform:scale(.94)}.fd.is-live:not(.is-fresh) .fd-die[aria-disabled=false]{cursor:pointer}.fd-die:focus-visible{outline:3px solid var(--sun);outline-offset:3px}.fd-die.is-held{transform:translateY(-7px);box-shadow:0 0 0 3px var(--tg-c),0 4px color-mix(in srgb,var(--tg-c) 60%,#000),0 12px 14px #28190a40}.fd-held{position:absolute;top:-9px;right:-9px;padding:1px 5px;border-radius:999px;font-size:.56rem;font-weight:800;letter-spacing:.05em;background:var(--tg-c);color:color-mix(in srgb,var(--tg-c) 18%,black);opacity:0;transform:scale(.6);transition:opacity calc(.12s * var(--motion)),transform calc(.12s * var(--motion))}.fd-die.is-held .fd-held{opacity:1;transform:none}.fd-die.is-hint:after{content:"";position:absolute;inset:-7px;border-radius:28%;border:3px dashed var(--sun);animation:fd-pulse calc(.7s * var(--motion)) ease-in-out infinite alternate}@keyframes fd-pulse{to{transform:scale(.94)}}.fd-die.is-tumble{animation:fd-tumble calc(var(--fd-roll) * var(--motion)) cubic-bezier(.3,.7,.4,1) both}@keyframes fd-tumble{0%{transform:translateY(0) rotate(0)}25%{transform:translateY(-16px) rotate(calc(var(--fd-spin, 1) * 160deg))}55%{transform:translateY(2px) rotate(calc(var(--fd-spin, 1) * 290deg))}75%{transform:translateY(-5px) rotate(calc(var(--fd-spin, 1) * 340deg))}to{transform:translateY(0) rotate(calc(var(--fd-spin, 1) * 360deg))}}.fd.is-five .fd-die{animation:fd-hop calc(.45s * var(--motion)) ease-in-out 2}@keyframes fd-hop{50%{transform:translateY(-10px)}}.fd-actions{display:flex;gap:8px;margin-top:8px}.fd-actions .suvi-btn{min-height:46px;justify-content:center;gap:8px;font-weight:800}.fd-roll{flex:1 1 auto}.fd-actions .suvi-btn.fd-roll.is-primary,.fd-actions .suvi-btn.fd-score{background:var(--tg-c);border-color:color-mix(in srgb,var(--tg-c) 70%,var(--ink));color:color-mix(in srgb,var(--tg-c) 15%,black);box-shadow:0 3px color-mix(in srgb,var(--tg-c) 55%,var(--ink))}.fd-roll.is-compact{flex:0 0 auto;padding-left:14px;padding-right:14px}.fd-roll.is-compact .fd-roll-t{display:none}.fd-roll.is-compact:before{content:"Roll"}.fd-left{display:inline-flex;gap:4px}.fd-left i{width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor;opacity:.7}.fd-left i.on{background:currentColor;opacity:1}.fd-roll.is-hint{animation:fd-btn-pulse calc(1s * var(--motion)) ease-in-out infinite}@keyframes fd-btn-pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--sun) 55%,transparent)}}.fd-score{flex:2 1 auto;align-items:baseline}.fd-score b{font-family:var(--font-display);font-size:1.2rem}.fd-score small{font-weight:600;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.fd-actions.is-waiting .suvi-btn{opacity:.55}.fd.is-over .fd-actions{display:none}.fd-roll.is-nudge,.fd-score.is-nudge{animation:fd-shake calc(.3s * var(--motion)) ease-in-out}@keyframes fd-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media(pointer:fine)and (min-width:700px){.fd{--fd-row: clamp(28px, calc((var(--tg-stage-h) - 172px) / 8), 38px)}.fd-row{grid-template-columns:minmax(0,1fr) 52px 52px;padding-left:10px}.fd-row.is-total .fd-v{font-size:1.1rem}.fd-label{font-size:.9rem}.fd-die{width:60px}}:root[data-text-size=large] .fd-label{white-space:normal;font-size:calc(.84rem * 16 / 19)}:root[data-text-size=large] .fd-label>span{overflow:visible;text-overflow:clip;line-height:1.05}
