body:has(#hearts-root)>header{display:none}.pr-game-section{margin:0;padding:0}#hearts-root{--accent:#0f1a2b;--gold:#E9C46A;--heart:#ff6b81;--panel:rgba(12, 21, 38, 0.92);--anim-k:1;--bar-h:44px;--sidebar-w:300px;--avail-h:calc(100dvh - var(--bar-h) - var(--pr-ad-top, 0px) - var(--pr-ad-bottom, 0px));--card-w:clamp(44px, min(calc((100vw - var(--sidebar-w)) / 9), calc(var(--avail-h) / 6.4)), 132px);--card-h:calc(var(--card-w) * 1.4);--trick-w:calc(var(--card-w) * 0.88);--card-red:#d32f2f;--card-black:#212121;--back-w:calc(var(--card-w) * 0.6);--back-h:calc(var(--back-w) * 1.4);box-sizing:border-box;position:relative;width:100%;height:100vh;height:100dvh;padding-top:var(--pr-ad-top,0px);padding-bottom:var(--pr-ad-bottom,0px);display:flex;flex-direction:column;overflow:hidden;color:#fff;font-family:var(--font-body,'Inter',sans-serif);font-size:15px;line-height:1.35;background:#1a3352;background-image:radial-gradient(ellipse at 50% 38%,rgba(233,196,106,.1) 0%,rgba(255,255,255,4%) 35%,transparent 70%);user-select:none;-webkit-user-select:none}#hearts-root *,#hearts-root *::before,#hearts-root *::after{box-sizing:border-box}#hearts-root [hidden]{display:none!important}#hearts-root a{color:var(--gold)}#hearts-root button{font-family:inherit}#hearts-root table{margin:0;border:0;border-radius:0;overflow:visible;font-size:inherit}#hearts-root thead{background:0 0;color:inherit}#hearts-root th,#hearts-root td{padding:3px 4px;font-size:inherit;text-transform:none;letter-spacing:0;border-bottom:0}#hearts-root tbody tr:nth-child(even){background:0 0}#hearts-root .pr-seat-plate:has(.player-name:empty),#hearts-root .pr-me-plate:has(.player-name:empty){visibility:hidden}#hearts-root .pr-topbar{flex:0 0 var(--bar-h);height:var(--bar-h);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;background:rgba(0,0,0,.25);z-index:120;white-space:nowrap}#hearts-root .pr-topbar-left,#hearts-root .pr-topbar-right{display:flex;align-items:center;gap:12px;min-width:0}#hearts-root .pr-topbar-center{flex:1;text-align:center;font-weight:600;color:rgba(255,255,255,.85);overflow:hidden;text-overflow:ellipsis;min-width:0}#hearts-root .pr-topbar-center .suit-S,#hearts-root .pr-topbar-center .suit-C{color:#fff}#hearts-root .pr-topbar-center .suit-H,#hearts-root .pr-topbar-center .suit-D{color:#ff8a80}#hearts-root .pr-variant-label{color:rgba(255,255,255,.6);font-size:.85em}#hearts-root .pr-top-score{font-size:.95em}#hearts-root .pr-top-score b{font-size:1.15em}#hearts-root .pr-top-label{color:rgba(255,255,255,.65);font-weight:600;font-size:.85em;text-transform:uppercase;letter-spacing:.04em}#hearts-root .pr-menu{position:relative}#hearts-root .pr-menu-toggle{display:flex;align-items:center;gap:6px;background:0 0;border:0;color:#fff;cursor:pointer;font-family:var(--font-display,'Maven Pro',sans-serif);font-weight:700;font-size:1.1em;padding:6px 4px}#hearts-root .pr-logo-suit{color:var(--gold)}#hearts-root .pr-menu-arrow{font-size:.75em;opacity:.7}#hearts-root .pr-menu-list{display:none;position:absolute;top:100%;left:0;min-width:230px;padding:6px 0;background:#0f1a2b;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.4)}#hearts-root .pr-menu.open .pr-menu-list{display:block}#hearts-root .pr-menu-list a{display:block;padding:8px 16px;color:#fff;text-decoration:none;font-size:.95em}#hearts-root .pr-menu-list a:hover,#hearts-root .pr-menu-list a.active{background:rgba(255,255,255,8%)}#hearts-root .pr-menu-list a.active{color:var(--gold)}#hearts-root .pr-menu-divider{height:1px;margin:6px 0;background:rgba(255,255,255,.1)}#hearts-root .pr-sidebar-toggle{display:none;width:36px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,8%);color:#fff;cursor:pointer;font-size:1.05em}#hearts-root .pr-main{flex:auto;display:flex;min-height:0;position:relative}#hearts-root .pr-table{--side-col:clamp(70px, calc(var(--back-h) + 26px), 200px);--top-row:calc(var(--back-h) + 48px);--me-row:48px;--hand-row:calc(var(--card-h) + 46px);flex:auto;min-width:0;display:grid;grid-template-columns:var(--side-col)minmax(0,1fr)var(--side-col);grid-template-rows:var(--top-row)minmax(0,1fr)var(--me-row)var(--hand-row);grid-template-areas:".    top    ." "left center right" "me   me     me" "hand hand   hand";--pad-y:6px;--pad-x:10px;padding:var(--pad-y)var(--pad-x);position:relative}#hearts-root .pr-seat{position:relative;min-width:0;min-height:0}#hearts-root .pr-seat-top{grid-area:top}#hearts-root .pr-seat-left{grid-area:left}#hearts-root .pr-seat-right{grid-area:right}#hearts-root .pr-fan{position:absolute}#hearts-root .pr-fan>.card,#hearts-root .pr-fan>.pr-back{position:absolute;bottom:0;transform-origin:50% 100%;transform:translateY(var(--arc,0px))rotate(var(--rot,0deg))translateY(var(--lift,0px))}#hearts-root .pr-backs{left:50%;top:50%}#hearts-root .pr-seat-top .pr-backs{top:4px;transform:translateX(-50%)rotate(180deg)}#hearts-root .pr-seat-left .pr-backs{transform:translate(-50%,-50%)rotate(90deg)}#hearts-root .pr-seat-right .pr-backs{transform:translate(-50%,-50%)rotate(-90deg)}#hearts-root .pr-back{width:var(--back-w);height:var(--back-h);border-radius:clamp(3px,calc(var(--back-w) * .08),7px);background:#7a1f35;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.35);background-image:repeating-linear-gradient(45deg,transparent 0 3px,rgba(255,255,255,.12) 3px 6px)}#hearts-root .pr-seat-plate{position:absolute;left:50%;transform:translateX(-50%);z-index:3}#hearts-root .pr-seat-top .pr-seat-plate{bottom:0}#hearts-root .pr-seat-left .pr-seat-plate,#hearts-root .pr-seat-right .pr-seat-plate{top:50%;transform:translate(-50%,-50%)}#hearts-root .pr-seat-plate,#hearts-root .pr-me-plate{width:100%;max-width:220px;height:40px;padding:3px 8px;border-radius:10px;text-align:center;background:var(--panel);border:1px solid rgba(255,255,255,.1);transition:border-color .2s,box-shadow .2s,background .2s}#hearts-root .active-turn{border-color:var(--gold)!important;background:rgba(233,196,106,.16)!important;box-shadow:0 0 12px rgba(233,196,106,.35)}#hearts-root .player-name,#hearts-root .player-info{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#hearts-root .player-name{font-weight:700;font-size:.9em;height:1.35em}#hearts-root .player-info{font-size:.75em;color:rgba(255,255,255,.65);height:1.35em}#hearts-root .dealer-chip{display:inline-block;font-size:.72em;background:gold;color:#222;border-radius:50%;width:1.5em;height:1.5em;line-height:1.5em;text-align:center;margin-left:4px;vertical-align:1px;font-weight:800}#hearts-root .pr-center{grid-area:center;position:relative;min-height:0;min-width:0}#hearts-root .pr-stage{position:absolute;inset:0}#hearts-root .pr-moon-watermark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:calc(var(--card-w) * 1.9);line-height:1;color:rgba(233,196,106,.1);pointer-events:none}#hearts-root #trick-area{--card-w:var(--trick-w);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(var(--card-w) * 3.3);height:calc(var(--card-w) * 1.4 * 2.1);max-width:100%;max-height:100%}#hearts-root .trick-card{--card-h:calc(var(--card-w) * 1.4);position:absolute;width:var(--card-w);height:var(--card-h);transition:transform calc(.5s * var(--anim-k))cubic-bezier(.4,0,.2,1),opacity calc(.5s * var(--anim-k))ease}#hearts-root #trick-top{top:0;left:50%;margin-left:calc(var(--card-w) * -.5)}#hearts-root #trick-bottom{bottom:0;left:50%;margin-left:calc(var(--card-w) * -.5)}#hearts-root #trick-left{left:0;top:50%;margin-top:calc(var(--card-w) * -.7)}#hearts-root #trick-right{right:0;top:50%;margin-top:calc(var(--card-w) * -.7)}#hearts-root .winning-card{box-shadow:0 0 12px 4px rgba(255,215,0,.7),0 0 24px 8px rgba(255,215,0,.3)!important;border:2px solid gold!important;z-index:2}#hearts-root #trick-area.trick-sweep .trick-card{opacity:0}#hearts-root #trick-area.trick-sweep.sweep-to-bottom .trick-card{transform:translateY(60px)scale(.6)}#hearts-root #trick-area.trick-sweep.sweep-to-top .trick-card{transform:translateY(-60px)scale(.6)}#hearts-root #trick-area.trick-sweep.sweep-to-left .trick-card{transform:translateX(-60px)scale(.6)}#hearts-root #trick-area.trick-sweep.sweep-to-right .trick-card{transform:translateX(60px)scale(.6)}#hearts-root .pr-stage-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:20;width:min(var(--panel-w,340px),calc(100vw - var(--sidebar-w) - 20px));max-height:100%;overflow:auto;padding:12px 14px;text-align:center;background:var(--panel);border:1px solid rgba(255,255,255,.14);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.35)}#hearts-root .pr-panel-title{font-weight:700;color:var(--gold);margin-bottom:4px}#hearts-root .panel-note{font-size:.82em;color:rgba(255,255,255,.7);margin:4px 0 8px}#hearts-root .bid-actions{display:flex;gap:8px;justify-content:center;margin-top:10px;flex-wrap:wrap}#hearts-root .bid-actions .pr-btn{flex:1;min-width:120px;padding:9px 10px;font-size:1em}#hearts-root #pass-confirm{margin-top:4px;padding:9px 22px;font-size:1em}#hearts-root .pr-me{--plate-w:200px;grid-area:me;position:relative;display:grid;grid-template-columns:var(--plate-w)minmax(0,1fr)var(--plate-w);grid-template-rows:1fr 4px;column-gap:10px;align-items:center}#hearts-root .pr-me-plate{grid-row:1;grid-column:1;height:38px;max-width:none;padding:2px 10px}#hearts-root #game-status{grid-row:1;grid-column:2;height:24px;line-height:24px;text-align:center;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 6px rgba(0,0,0,.6);padding-right:0}#hearts-root #timer-bar{grid-row:2;grid-column:1/-1;height:4px;background:rgba(255,255,255,6%);border-radius:2px;overflow:hidden}#hearts-root #timer-fill{height:100%;width:0;background:var(--gold);transition:width .25s linear}#hearts-root .countdown{font-size:1.2em;line-height:1;color:var(--gold);font-weight:800}#hearts-root .trick-won-status{font-weight:700;animation:prFadeIn .3s ease-out}#hearts-root .trick-won-status.clean{color:var(--gold)}#hearts-root .trick-won-status.took-points{color:var(--heart)}#hearts-root .trick-point-indicator{position:absolute;top:38%;left:50%;margin-left:-.8em;font-size:1.5em;font-weight:900;pointer-events:none;z-index:100;animation:pointFloat calc(1.2s * var(--anim-k))cubic-bezier(.4,0,.2,1)forwards;text-shadow:0 2px 8px rgba(0,0,0,.6)}#hearts-root .point-good{color:#81c784}#hearts-root .point-bad{color:var(--heart)}@keyframes pointFloat{0%{opacity:0;transform:translateY(0)scale(.5)}20%{opacity:1;transform:translateY(-8px)scale(1.2)}60%{opacity:1;transform:translateY(-20px)scale(1)}100%{opacity:0;transform:translateY(-36px)scale(.8)}}#hearts-root .card{--card-h:calc(var(--card-w) * 1.4);--card-radius:clamp(4px, calc(var(--card-w) * 0.07), 10px);--card-font:clamp(11px, calc(var(--card-w) * 0.22), 30px);--card-font-lg:clamp(18px, calc(var(--card-w) * 0.48), 62px);box-sizing:border-box;width:var(--card-w);height:var(--card-h);padding:0;background:#fff;border:1px solid #ccc;border-radius:var(--card-radius);display:inline-block;flex:none;font-weight:700;position:relative;overflow:hidden;user-select:none;box-shadow:0 2px 6px rgba(0,0,0,.28);transition:transform .15s,box-shadow .15s}#hearts-root .card:hover{box-shadow:0 2px 6px rgba(0,0,0,.28);border-color:#ccc}#hearts-root .trick-card .card:hover,#hearts-root .last-trick .card:hover{transform:none}#hearts-root .card .card-tl,#hearts-root .card .card-br{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1}#hearts-root .card .card-tl{top:4%;left:6%}#hearts-root .card .card-br{bottom:4%;right:6%;transform:rotate(180deg)}#hearts-root .card .card-rank{font-size:var(--card-font);font-weight:700;line-height:1.05;letter-spacing:-.04em}#hearts-root .card .card-suit-sm{font-size:calc(var(--card-font) * .8);line-height:1}#hearts-root .card .card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--card-font-lg);line-height:1}#hearts-root .card.suit-S,#hearts-root .card.suit-C{color:var(--card-black)}#hearts-root .card.suit-H,#hearts-root .card.suit-D{color:var(--card-red)}#hearts-root #hand-area{grid-area:hand;position:relative;min-width:0}#hearts-root #hand-area .pr-fan{left:50%;bottom:20px;transform:translateX(-50%)}#hearts-root #hand-area .card{cursor:default;transition:transform .15s,box-shadow .15s,filter .15s}#hearts-root #hand-area .card.playable{cursor:pointer;border:2px solid var(--gold)}#hearts-root #hand-area .card.playable:hover{--lift:-16px;box-shadow:0 8px 20px rgba(233,196,106,.4)}@media(hover:none){#hearts-root #hand-area .card.playable:hover{--lift:0px}}#hearts-root #hand-area .card.received{--lift:-8px;box-shadow:0 0 0 3px #64b5f6,0 2px 6px rgba(0,0,0,.4)}#hearts-root #hand-area .card.selected{--lift:-22px;box-shadow:0 0 0 3px #66bb6a,0 8px 20px rgba(0,0,0,.4)}#hearts-root #hand-area .card.not-legal{filter:brightness(.6)saturate(.7)}#hearts-root #hand-area .card.playable:focus-visible{outline:3px solid gold;outline-offset:2px}#hearts-root .mini-card{display:inline-block;background:#fff;border-radius:3px;padding:0 3px;margin:1px;font-weight:700;font-size:.92em;line-height:1.35}#hearts-root .mini-card.suit-S,#hearts-root .mini-card.suit-C{color:#222}#hearts-root .mini-card.suit-H,#hearts-root .mini-card.suit-D{color:var(--card-red)}#hearts-root .pr-overlay{grid-row:1/-1;grid-column:1/-1;z-index:40;display:flex;align-items:center;justify-content:center;padding:10px;background:rgba(10,16,30,.55);min-height:0;margin:calc(var(--pad-y) * -1)}#hearts-root .pr-overlay-soft{grid-row:1/3;background:rgba(10,16,30,.35);margin-bottom:0}#hearts-root .pr-dialog{width:min(100%,480px);max-height:100%;overflow:auto;padding:20px 18px;text-align:center;user-select:text;background:#0f1a2b;border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 16px 40px rgba(0,0,0,.45);color:#fff}#hearts-root .pr-start-suits{font-size:1.8rem;letter-spacing:.4em;margin-bottom:4px}#hearts-root .pr-red{color:#ff8a80}#hearts-root .pr-start-title{font-family:var(--font-display,'Maven Pro',sans-serif);font-size:1.8rem;font-weight:700}#hearts-root .pr-start-sub{color:rgba(255,255,255,.8);margin:4px 0 16px;font-size:.92em}#hearts-root .pr-modes{display:flex;flex-direction:column;gap:10px;max-width:320px;margin:0 auto 12px}#hearts-root .pr-btn{appearance:none;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;font-weight:700;font-size:1.05rem;padding:12px 18px;border-radius:12px;cursor:pointer;transition:background .15s}#hearts-root .pr-btn:hover{background:rgba(255,255,255,.18)}#hearts-root .pr-btn-primary{background:var(--gold);color:#3b2a05;border-color:var(--gold)}#hearts-root .pr-btn-primary:hover{background:#f3d88e}#hearts-root .pr-btn:disabled{opacity:.5;cursor:default}#hearts-root .pr-btn-small{padding:6px 12px;font-size:.9rem}#hearts-root .pr-name-field{display:block;color:rgba(255,255,255,.85);font-size:.9rem;margin:8px 0}#hearts-root .pr-name-field input{margin-left:6px;padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.25);color:#fff;width:10em}#hearts-root .pr-start-note{color:rgba(255,255,255,.75);font-size:.88rem;max-width:420px;margin:8px auto 0}#hearts-root .pr-searching{margin-top:12px;display:flex;flex-direction:column;align-items:center;gap:8px}#hearts-root .pr-share-row{display:flex;gap:6px;margin:10px auto}#hearts-root .pr-share-row input{flex:1;min-width:0;padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.25);color:#fff}#hearts-root .pr-lobby>p{color:rgba(255,255,255,.85)}#hearts-root .pr-seats{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;margin:6px 0 10px;text-align:left}#hearts-root .pr-slot{display:block;width:100%;margin:6px 0 0;padding:8px 10px;border-radius:8px;text-align:left;font:inherit;font-size:.92rem;color:#fff;background:rgba(255,255,255,8%);border:1px solid transparent;overflow-wrap:anywhere}#hearts-root button.pr-slot{cursor:pointer}#hearts-root button.pr-slot:hover{background:rgba(255,255,255,.16)}#hearts-root .pr-slot.pr-empty{color:rgba(255,255,255,.6);font-style:italic;border:1px dashed rgba(255,255,255,.25);background:0 0}#hearts-root button.pr-slot.pr-empty:hover{color:#fff;border-color:var(--gold)}#hearts-root .pr-slot.mine{border-color:var(--gold)}#hearts-root .pr-slot small{color:rgba(255,255,255,.65)}#hearts-root .pr-link-btn{background:0 0;border:0;color:var(--gold);cursor:pointer;font-weight:600;font-size:.85em;padding:2px 4px;text-decoration:underline}#hearts-root .pr-link-btn:disabled{color:rgba(255,255,255,.35);cursor:default;text-decoration:none}#hearts-root .result-headline{font-weight:700;margin-bottom:6px}#hearts-root .result-headline.good{color:#81c784}#hearts-root .result-headline.bad{color:#ef9a9a}#hearts-root .result-table{width:100%;border-collapse:collapse;margin-top:6px;font-size:.9em}#hearts-root .result-table th,#hearts-root .result-table td{padding:4px 6px;border-bottom:1px solid rgba(255,255,255,8%);text-align:center}#hearts-root .result-table th:first-child{text-align:left}#hearts-root .result-table td.neg{color:#ef9a9a}#hearts-root .pr-sidebar{flex:0 0 var(--sidebar-w);width:var(--sidebar-w);overflow-y:auto;overflow-x:hidden;padding:10px 0;background:linear-gradient(180deg,#16243d 0%,#0e1729 100%);border-left:1px solid rgba(255,255,255,8%);user-select:text;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15)transparent;z-index:100}#hearts-root .pr-side-panel{margin:0 12px 10px;padding:12px 14px;background:rgba(255,255,255,6%);border:1px solid rgba(255,255,255,8%);border-radius:10px}#hearts-root .pr-side-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}#hearts-root .pr-side-head h3{margin:0;font-size:.8em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.9);font-family:inherit}#hearts-root .pr-side-sub{font-size:.8em;color:rgba(255,255,255,.6)}#hearts-root .pr-side-scores{display:flex;justify-content:space-around;text-align:center;margin-bottom:8px}#hearts-root .pr-side-hand{width:100%;border-collapse:collapse;font-size:.88em}#hearts-root .pr-side-hand th{text-align:left;font-weight:600;color:rgba(255,255,255,.65);padding:3px 0;width:30%}#hearts-root .pr-side-hand td{padding:3px 0}#hearts-root .pr-side-hand .pr-side-col{font-size:.85em;color:rgba(255,255,255,.55);text-transform:uppercase}#hearts-root .pr-side-empty{font-size:.85em;color:rgba(255,255,255,.5)}#hearts-root .last-trick{display:flex;justify-content:space-between;gap:6px;--card-w:52px}#hearts-root .last-trick>div{text-align:center;min-width:0}#hearts-root .tool-who{font-size:.72em;color:rgba(255,255,255,.7);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56px}#hearts-root #side-history .result-table{font-size:.8em}#hearts-root .pr-side-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;padding:4px 12px 12px;font-size:.9em}#hearts-root .pr-side-links .pr-link-btn{font-size:1em}.results-modal-overlay{position:fixed;inset:0;background:rgba(10,14,39,.85);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:prFadeIn .4s ease-out}.results-modal{background:linear-gradient(145deg,#1a2c4b,#0c1526);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:34px;width:90%;max-width:440px;text-align:center;color:#fff;box-shadow:0 20px 50px rgba(0,0,0,.5);animation:prSlideUp .5s cubic-bezier(.18,.89,.32,1.28)}.results-header{font-size:2.3em;font-weight:800;margin-bottom:8px;text-transform:uppercase;letter-spacing:2px;color:#e9c46a}.results-outcome{font-size:1.05em;color:rgba(255,255,255,.7);margin-bottom:16px}.results-scores{margin-bottom:16px;font-size:1.15em;color:rgba(255,255,255,.85)}.results-learn{margin:0 0 16px;color:rgba(255,255,255,.8)}.results-score-label{font-size:.75em;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.05em}.results-learn a{color:#e9c46a}.results-actions{display:flex;flex-direction:column;gap:12px}.btn-primary,.btn-secondary{padding:14px 24px;border-radius:12px;font-size:1.1em;font-weight:700;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#e9c46a;color:#3b2a05}.btn-primary:hover:not(:disabled){background:#f3d88e}.btn-secondary{background:rgba(255,255,255,6%);color:#fff;border:1px solid rgba(255,255,255,.15)}.btn-secondary:hover{background:rgba(255,255,255,.12)}.btn-primary:disabled{background:#555;color:#ddd;opacity:.7;cursor:not-allowed}.challenge-message{margin-top:-6px;margin-bottom:16px;font-weight:600;color:#e9c46a}@keyframes prFadeIn{from{opacity:0}to{opacity:1}}@keyframes prSlideUp{from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.flash-effect{animation:modalFlash .4s ease-out}@keyframes modalFlash{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.02);filter:brightness(1.4)}100%{transform:scale(1);filter:brightness(1)}}@media(min-width:1400px) and (min-height:950px){#hearts-root .pr-stage-panel{font-size:18px;--panel-w:420px}#hearts-root .pr-dialog{font-size:17px}}@media(max-width:1000px){#hearts-root{--sidebar-w:0px}#hearts-root .pr-sidebar-toggle{display:inline-block}#hearts-root .pr-sidebar{position:absolute;top:0;right:0;bottom:0;width:300px;max-width:88%;flex-basis:auto;transform:translateX(100%);transition:transform .25s ease;box-shadow:-4px 0 20px rgba(0,0,0,.4);visibility:hidden}#hearts-root .pr-sidebar.open{transform:translateX(0);visibility:visible}}@media(max-width:640px){#hearts-root{font-size:14px;--bar-h:42px;--card-w:clamp(44px, min(calc(100vw / 6.6), calc(var(--avail-h) / 7.5)), 64px);--back-w:calc(var(--card-w) * 0.55)}#hearts-root .pr-topbar{padding:0 8px;gap:8px}#hearts-root .pr-logo-text{display:none}#hearts-root .pr-topbar-center{font-size:.85em}#hearts-root .pr-topbar-right{gap:8px}#hearts-root .pr-table{--pad-y:4px;--pad-x:4px;--top-row:calc(var(--back-h) + 44px);--me-row:44px;--side-col:calc(var(--back-h) + 14px)}#hearts-root .pr-seat-plate{padding:2px 4px;height:36px}#hearts-root .pr-seat-left .pr-seat-plate,#hearts-root .pr-seat-right .pr-seat-plate{width:calc(var(--side-col) - 2px)}#hearts-root .pr-seat-left .player-name,#hearts-root .pr-seat-right .player-name{font-size:.8em}#hearts-root .player-info{font-size:.7em}#hearts-root .pr-me{--plate-w:112px;column-gap:6px;grid-template-columns:var(--plate-w)minmax(0,1fr)0}#hearts-root .pr-me-plate{height:36px;padding:2px 6px}#hearts-root #game-status{font-size:.9em}#hearts-root .pr-stage-panel{padding:10px 8px}}#hearts-root .pr-modebar{flex:auto;display:flex;justify-content:center;gap:6px;min-width:0}#hearts-root .pr-mode{display:inline-flex;align-items:center;gap:2px;height:30px;padding:0 12px;border-radius:999px;cursor:pointer;white-space:nowrap;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,6%);color:#fff;font-weight:600;font-size:.88em}#hearts-root .pr-mode:hover{background:rgba(255,255,255,.14)}#hearts-root .pr-mode.active{background:var(--gold);border-color:var(--gold);color:#3b2a05}#hearts-root .pr-mode-short{display:none}#hearts-root .pr-menu-item{display:block;width:100%;text-align:left;padding:8px 16px;background:0 0;border:0;color:#fff;font-size:.95em;cursor:pointer}#hearts-root .pr-menu-item:hover{background:rgba(255,255,255,8%)}#hearts-root .pr-moon,#hearts-root .pr-logo-suit{color:var(--gold)}#hearts-root .pr-red{color:var(--heart)}#hearts-root .trick-card .card.just-played{animation:hmPlayIn calc(.32s * var(--anim-k))ease-out}#hearts-root .trick-card .card.from-bottom{--from:0, 70%}#hearts-root .trick-card .card.from-top{--from:0, -70%}#hearts-root .trick-card .card.from-left{--from:-70%, 0}#hearts-root .trick-card .card.from-right{--from:70%, 0}@keyframes hmPlayIn{from{transform:translate(var(--from))scale(.85);opacity:.2}to{transform:none;opacity:1}}#hearts-root .pr-side-hand tr.me th,#hearts-root .result-table tr.me th{color:var(--gold)}#hearts-root .pr-side-hand td{text-align:center}#hearts-root .pr-side-hand td.lead,#hearts-root .result-table td.lead{color:#81c784;font-weight:700}#hearts-root .result-table td.pos{color:#81c784}#hearts-root .pr-side-handinfo{margin-top:6px}#hearts-root .score-sheet th,#hearts-root .score-sheet td{padding:3px 2px;text-align:center;white-space:nowrap}#hearts-root .score-sheet th{font-size:.9em;color:rgba(255,255,255,.7);max-width:56px;overflow:hidden;text-overflow:ellipsis}#hearts-root .score-sheet th.me,#hearts-root .score-sheet td.me{color:var(--gold)}#hearts-root .score-sheet td small{display:block;font-size:.78em;color:rgba(255,255,255,.55);line-height:1}#hearts-root .score-sheet tr.moon-row td{background:rgba(233,196,106,.1)}#hearts-root #side-history{max-height:300px;overflow-y:auto}#hearts-root .moon-mark{color:var(--gold);font-weight:800;margin-right:1px}#hearts-root .pr-rules-dialog{width:min(100%,520px);text-align:left}#hearts-root .pr-rules-dialog .pr-start-title,#hearts-root .pr-rules-dialog>.pr-start-note{text-align:center}#hearts-root .pr-switches{display:grid;gap:4px;margin:10px 0 4px}#hearts-root .pr-switch{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.92rem}#hearts-root .pr-switch select{flex:0 0 52%;padding:5px 6px;border-radius:8px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.3);color:#fff;font:inherit}#hearts-root .pr-switch select option{color:#111}#hearts-root .pr-switch-help{font-size:.78rem;color:rgba(255,255,255,.6);margin:-1px 0 6px;min-height:.5em}#hearts-root .pr-share-code{margin:8px 0 2px;font-size:.85rem;color:rgba(255,255,255,.75);text-align:center}#hearts-root .pr-share-code code{color:var(--gold);background:rgba(0,0,0,.3);padding:1px 6px;border-radius:6px;overflow-wrap:anywhere}#hearts-root .pr-warn{color:#ffcc80}#hearts-root .pr-house-rules{max-width:380px;margin:8px auto 4px;text-align:left;font-size:.9rem}#hearts-root .pr-house-rules summary{cursor:pointer;color:rgba(255,255,255,.85);text-align:center}#hearts-root .pr-house-rules summary span{color:var(--gold)}#hearts-root .pr-rules-list{margin:0;padding-left:1.1em;font-size:.85em}#hearts-root .pr-rules-list li{margin:2px 0;color:rgba(255,255,255,.88)}#hearts-root .pr-rules-list b{color:var(--gold)}#hearts-root .pr-setting{display:block;font-size:.88em;margin:6px 0;cursor:pointer}#hearts-root .pr-setting input[type=checkbox]{margin-right:6px;vertical-align:-1px}#hearts-root .pr-setting-row{display:flex;justify-content:space-between;align-items:center;gap:8px}#hearts-root .pr-setting-row select,#hearts-root .pr-setting-row input{width:55%;padding:4px 6px;border-radius:8px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.3);color:#fff;font:inherit}#hearts-root .pr-setting-row select option{color:#111}#hearts-root .pr-lobby .pr-name-field input{width:11em}#hearts-root .pr-moon-big{font-size:3.2rem;line-height:1;color:var(--gold);text-shadow:0 0 24px rgba(233,196,106,.6)}#hearts-root .pr-moon-dialog{border-color:rgba(233,196,106,.5);box-shadow:0 0 40px rgba(233,196,106,.25),0 16px 40px rgba(0,0,0,.45)}#hearts-root .pr-moon-options{display:flex;flex-direction:column;gap:10px;margin:12px auto 6px;max-width:360px}#hearts-root .pr-moon-opt{display:flex;flex-direction:column;gap:3px;text-align:center}#hearts-root .pr-moon-opt span{font-size:.78em;font-weight:500;opacity:.85}#hearts-root .pr-moon-banner{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:60;pointer-events:none;min-width:min(90%,300px);padding:16px 22px;text-align:center;border-radius:18px;background:rgba(12,21,38,.94);border:1px solid rgba(233,196,106,.6);box-shadow:0 0 50px rgba(233,196,106,.35)}#hearts-root .pr-moon-banner.show{animation:hmMoonRise calc(.7s * var(--anim-k))cubic-bezier(.18,.89,.32,1.28)}#hearts-root .pr-moon-banner .moon-title{font-family:var(--font-display,'Maven Pro',sans-serif);font-size:1.5rem;font-weight:700;color:var(--gold)}#hearts-root .pr-moon-banner .moon-sub{color:rgba(255,255,255,.85);margin-top:2px}@keyframes hmMoonRise{from{opacity:0;transform:translate(-50%,-20%)scale(.8)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.results-table{width:100%;margin:0 auto 16px;border-collapse:collapse;font-size:1.05em}.results-table td,.results-table th{text-transform:none;letter-spacing:0;font-weight:600;background:0 0;padding:5px 8px;text-align:left;border-bottom:1px solid rgba(255,255,255,8%);color:rgba(255,255,255,.85)}.results-table td:last-child{text-align:right;font-weight:700}.results-table tr.me th{color:#e9c46a}.results-table tr.won td:last-child{color:#81c784}#hearts-root.hm-large{--card-w:clamp(54px, min(calc((100vw - var(--sidebar-w)) / 7.4), calc(var(--avail-h) / 5.6)), 160px);font-size:17px}#hearts-root.hm-large .card .card-rank{font-weight:800}@media(max-width:1000px){#hearts-root .pr-mode-text{display:none}#hearts-root .pr-mode-short{display:inline;margin-left:4px}#hearts-root .pr-mode-rules .pr-mode-text{display:none}}@media(max-width:640px){#hearts-root .pr-top-score{display:none}#hearts-root .pr-modebar{gap:4px;justify-content:flex-start}#hearts-root .pr-mode{padding:0 8px;font-size:.8em;height:28px}#hearts-root .pr-mode-short{margin-left:3px}#hearts-root .pr-seats{grid-template-columns:1fr}#hearts-root.hm-large{--card-w:clamp(50px, min(calc(100vw / 5.6), calc(var(--avail-h) / 6.6)), 80px);font-size:15px}}@media(max-width:400px){#hearts-root .pr-mode:not(.pr-mode-rules)>span[aria-hidden]{display:none}#hearts-root .pr-mode-short{margin-left:0}#hearts-root .pr-mode-rules{padding:0 9px}}