.hearts-shell{--board-ratio:1.25}.hearts-shell .shell-status{font-size:1rem;line-height:1.08}.hearts-shell .shell-status.is-thinking{color:var(--ink-soft)}.hearts-shell .shell-status.is-result{font-size:1.15rem}@media (min-width:900px) and (min-height:501px){.hearts-shell .shell-status{font-size:1.15rem}.hearts-shell .shell-status.is-result{font-size:1.3rem}}.hearts-board{--bw:min(100cqw, 125cqh, 720px);--hcw:min((var(--bw) - 24px) / 7, max(44px, 13.5cqh), 64px);--hand-h:calc(var(--hcw) * 2.8 + 18px);--tc:min(16cqw, (100cqh - var(--hand-h) - 82px) / 2.55, 72px);flex-direction:column;gap:4px;width:100%;height:100cqh;display:flex}@container (min-width:600px) and (min-height:480px){.hearts-board{--hcw:min(84px, var(--bw) / 11.4);--hand-h:calc(var(--hcw) * 1.4 + 14px)}}.hearts-table{border:1.5px solid var(--board-line-strong);border-radius:var(--radius);background:var(--paper);flex:1 1 0;grid-template:".north.""west trick east"minmax(0,1fr)"me me me"/minmax(62px,1fr) auto minmax(62px,1fr);align-items:center;gap:2px;min-height:0;padding:4px 6px;display:grid;position:relative}.hearts-seat{text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:0;font-size:.82rem;line-height:1.2;display:flex}.hearts-seat--west{grid-area:west}.hearts-seat--east{grid-area:east}.hearts-seat--north{flex-flow:wrap;grid-area:north;justify-content:center;column-gap:8px}.hearts-seat__name,.hearts-me__name{font-family:var(--font-hand);padding:0 4px;font-size:1.05rem}.hearts-seat.is-active .hearts-seat__name,.hearts-me.is-active .hearts-me__name{background:var(--highlight)}.hearts-seat__backs{height:26px;display:flex}.hearts-seat__back{width:17px;height:25px;box-shadow:-1.5px 0 0 var(--paper);border:1.5px solid var(--ink);background-color:var(--cover);background-image:radial-gradient(circle, var(--marker) 0 2px, transparent 2.5px);border-radius:3px}.hearts-seat__back+.hearts-seat__back{margin-inline-start:-10px}.hearts-seat__backs[data-count="0"]{visibility:hidden}.hearts-seat__count{color:var(--ink-soft);white-space:nowrap;font-size:.75rem}.hearts-seat__score,.hearts-me{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 8px;display:inline-flex}.hearts-seat__score strong{font-size:1rem}.hearts-seat__taken,.hearts-me__taken{color:var(--o);align-items:center;gap:2px;display:inline-flex}.hearts-mini-suit{fill:currentColor;width:14px;height:14px}.hearts-seat__pass{color:var(--ink-soft);font-size:.75rem}.hearts-seat__pass[hidden]{visibility:hidden;display:inline}.hearts-seat__pass[data-passed]{color:var(--ink)}.hearts-me{grid-area:me;justify-content:center;gap:14px;min-height:26px;font-size:.9rem}.hearts-label{color:var(--ink-soft);font-size:.8rem}.hearts-trick{width:calc(var(--tc) * 3.2);height:calc(var(--tc) * 2.55);grid-area:trick;align-self:center;margin:0 auto;position:relative}.hearts-trick__slot{width:var(--tc);position:absolute}.hearts-trick__slot--north{top:0;inset-inline-start:calc(var(--tc) * 1.1)}.hearts-trick__slot--south{bottom:0;inset-inline-start:calc(var(--tc) * 1.1)}.hearts-trick__slot--west{top:calc(var(--tc) * .575);inset-inline-start:0}.hearts-trick__slot--east{top:calc(var(--tc) * .575);inset-inline-end:0}.hearts-trick__card{border-radius:8%/5.7%;animation:.16s ease-out hearts-in;display:block;box-shadow:0 1px 3px #1b234040}.hearts-trick__slot--south .hearts-trick__card{animation-name:hearts-in-up}.hearts-trick__slot.is-done .hearts-trick__card{opacity:.72}.hearts-trick__slot.is-winner{z-index:1}.hearts-trick__slot.is-winner .hearts-trick__card{opacity:1;box-shadow:0 0 0 3px var(--marker), 0 0 0 4.5px var(--ink)}@keyframes hearts-in{0%{opacity:0;transform:scale(.9)}}@keyframes hearts-in-up{0%{opacity:0;transform:translateY(24px)}}.hearts-summary{top:8px;z-index:3;border:2px solid var(--ink);border-radius:var(--radius);background:var(--paper);width:min(340px,100% - 16px);max-height:calc(100cqh - 16px);box-shadow:var(--shadow);text-align:center;margin-inline:auto;padding:12px 14px 14px;animation:.2s ease-out .3s both hearts-in;position:absolute;inset-inline:0;overflow-y:auto}.hearts-summary h2{margin:0;font-size:1.4rem}.hearts-summary__moon{color:var(--o);margin:6px 0 0;font-weight:700}.hearts-summary__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:8px 0}.hearts-summary__table th,.hearts-summary__table td{border-bottom:1px solid var(--rule);text-align:end;padding:3px 6px}.hearts-summary__table th[scope=row]{text-align:start;font-weight:400}.hearts-summary__table thead th{color:var(--ink-soft);font-size:.8rem;font-weight:400}.hearts-summary__table tr.is-you{font-weight:700}.hearts-summary__note{color:var(--ink-soft);margin:0 0 10px;font-size:.85rem}.hearts-hand{height:var(--hand-h);flex:none}.hearts-hand__cards{--gap:4px;grid-template-columns:repeat(7, var(--hcw));grid-auto-rows:calc(var(--hcw) * 1.4);justify-content:center;gap:6px var(--gap);box-sizing:border-box;height:100%;padding-top:12px;display:grid}@container (min-width:600px) and (min-height:480px){.hearts-hand__cards{--step:min(calc(var(--hcw) + 6px), calc((var(--bw) - var(--hcw)) / 12));justify-content:center;gap:0;padding-top:14px;display:flex}.hearts-card{width:var(--hcw);flex:none}.hearts-card+.hearts-card{margin-inline-start:calc(var(--step) - var(--hcw))}}.hearts-card{appearance:none;color:inherit;cursor:default;touch-action:manipulation;background:0 0;border:0;border-radius:8%/5.7%;padding:0;transition:transform .12s ease-out;display:block;position:relative}.hearts-card:not(:disabled,.is-illegal){cursor:pointer}.hearts-card:focus-visible{outline:3px solid var(--focus);outline-offset:2px;z-index:2}@media (hover:hover) and (pointer:fine){.hearts-card:not(:disabled,.is-illegal):hover{transform:translateY(-8px)}}.hearts-card.is-picked{transform:translateY(-12px)}.hearts-card.is-picked .pc-card{box-shadow:0 0 0 3px var(--marker), 0 0 0 4.5px var(--ink)}.hearts-card.is-new:after{content:"";inset-inline:18%;background:var(--marker);opacity:.9;pointer-events:none;border-radius:3px;height:9%;position:absolute;bottom:6%}.hearts-card.is-illegal .pc-card{filter:grayscale();opacity:.45}.hearts-card.is-illegal:before{content:"";z-index:1;pointer-events:none;background:repeating-linear-gradient(135deg,#0000 0 7px,#1b234029 7px 8.5px);border-radius:8%/5.7%;position:absolute;inset:0}.hearts-card.is-playable .pc-card{box-shadow:0 3px 0 var(--ink)}.hearts-pass__count{font-size:.75rem;font-weight:400;line-height:1.1}@media (max-width:380px){#hearts-pass .shell-btn__label{font-size:.8125rem;line-height:1}}.hearts-panel__note{color:var(--ink-soft);margin:8px 0 0;font-size:.85rem;line-height:1.35}.hearts-reset{margin-top:10px}.hearts-field{border:0;margin:0;padding:0}.hearts-field legend{margin-bottom:6px;padding:0;font-size:.92rem;font-weight:700}.hearts-levels{border:2px solid var(--ink);border-radius:8px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.hearts-levels label{display:block;position:relative}.hearts-levels label+label{border-inline-start:2px solid var(--ink)}.hearts-levels input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.hearts-levels span{justify-content:center;align-items:center;min-height:44px;padding:0 6px;font-weight:600;display:flex}.hearts-levels input:checked+span{background:var(--ink);color:var(--paper)}.hearts-levels input:focus-visible+span{outline:3px solid var(--focus);outline-offset:-5px}.hearts-toggle{cursor:pointer;align-items:flex-start;gap:10px;margin-top:12px;display:flex}.hearts-toggle input{width:22px;height:22px;accent-color:var(--ink);flex:none;margin:2px 0 0}.hearts-toggle span{display:grid}.hearts-toggle small{color:var(--ink-soft);font-size:.85rem}.hearts-sheet,.hearts-history,.hearts-stats{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.hearts-sheet th,.hearts-sheet td,.hearts-history th,.hearts-history td,.hearts-stats th,.hearts-stats td{border-bottom:1px solid var(--rule);text-align:end;padding:3px 4px}.hearts-sheet th:first-child,.hearts-history th:first-child,.hearts-stats th:first-child{text-align:start}.hearts-sheet thead th,.hearts-history thead th,.hearts-stats thead th{color:var(--ink-soft);vertical-align:bottom;font-size:.78rem;font-weight:400}.hearts-sheet tfoot td,.hearts-sheet tfoot th{border-top:2px solid var(--ink);border-bottom:0;font-weight:700}.hearts-sheet__moon{font-family:var(--font-hand);color:var(--o)}.hearts-history td{text-align:center}.hearts-history td:last-child{text-align:end}.hearts-mini{white-space:nowrap;border-radius:4px;align-items:center;gap:1px;padding:0 3px;font-weight:600;display:inline-flex}.hearts-mini.is-red{color:var(--o)}.hearts-mini__suit{fill:currentColor;width:13px;height:13px}.hearts-mini.is-lead{text-underline-offset:3px;text-decoration:underline}.hearts-mini.is-won{background:var(--marker);color:var(--ink)}.hearts-stats tr.is-current{background:var(--highlight);font-weight:700}.hearts-confirm.game-confirm::backdrop{background:#1b234066}@container (max-height:360px){.hearts-seat__count{display:none}}@media (prefers-reduced-motion:reduce){.hearts-trick__card,.hearts-summary{animation:none}.hearts-card{transition:none}}
