.hearts-player[open]{display:flex;flex-direction:column;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:0;background:#101d2d;color:#f7edd9;overflow:hidden;border:0}.hearts-player .machine-top{flex-shrink:0;background:#101b2b;border-bottom:1px solid #cda46166}.hearts-player h2{font-family:Georgia,serif;letter-spacing:.02em}.hearts-content{overflow:auto;flex:1;padding:20px clamp(14px,4vw,60px) 30px;min-height:0}.hearts-notice{margin:0;background:#2e3041;color:#fff0c5;padding:10px 24px;font-size:14px;flex-shrink:0}.hearts-notice:empty{display:none}.hearts-footer{display:flex;justify-content:space-between;gap:20px;padding:12px 24px;font-size:12px;color:#b7c9d6;border-top:1px solid #bd985955;flex-shrink:0}.hearts-lobby-intro{display:flex;align-items:center;justify-content:space-between;max-width:960px;margin:15px auto 30px}.hearts-lobby-intro h3{font-family:Georgia,serif;font-size:clamp(34px,5vw,62px);line-height:1.1;margin:15px 0;color:#fae4b9}.hearts-lobby-intro p{max-width:600px;line-height:1.7;color:#c1d0dd}.hearts-lobby-suits{font-size:75px;line-height:.85;color:#e1b56d;transform:rotate(12deg);padding:20px}.hearts-lobby-suits span{color:#e68a98}.hearts-lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:960px;margin:auto}.hearts-lobby-grid form,.hearts-record,.hearts-open-tables,.hearts-resume,.hearts-rules{padding:22px;background:#1b2b3c;border:1px solid #8ca2b333;border-radius:12px}.hearts-player h3{margin:0 0 14px}.hearts-lobby-grid label{display:grid;gap:8px;margin:16px 0}.hearts-player input,.hearts-player select{width:100%;background:#0f1c2b;border:1px solid #657a8a;color:#f3e7d3;border-radius:6px;padding:11px;font:inherit}.hearts-player button{padding:10px 15px;border-radius:7px;border:1px solid #78909f66;background:#203c4a;color:#f6edd9;font:inherit;cursor:pointer}.hearts-player button:hover:not(:disabled){border-color:#efcc8b;background:#2b4c5a}.hearts-player button:disabled{cursor:default;opacity:.45}.hearts-player button.primary{background:#ead097;color:#14283a;font-weight:700}.hearts-player button:focus-visible,.hearts-player input:focus-visible{outline:3px solid #6fe4db;outline-offset:3px}.hearts-check{display:flex!important;align-items:center;font-size:14px}.hearts-check input{width:auto}.hearts-lobby-grid p,.hearts-rules p{font-size:14px;line-height:1.65;color:#becdd8}.hearts-resume{max-width:960px;margin:0 auto 24px;display:flex;align-items:center;gap:20px;justify-content:space-between;border-color:#ead097}.hearts-record,.hearts-open-tables{max-width:960px;margin:24px auto}.hearts-open-tables>div{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:15px 0}.hearts-record p{font-size:14px;color:#c1cfda}.hearts-table-head{display:flex;justify-content:space-between;gap:20px;align-items:center;max-width:1200px;margin:0 auto 16px}.hearts-table-head h3{font:28px Georgia,serif;margin:7px 0;color:#f3d297}.hearts-code{display:flex;gap:8px;align-items:end}.hearts-code label{font-size:11px;color:#bacdd7;display:grid;gap:5px}.hearts-code input{font:11px ui-monospace,monospace;width:260px;padding:8px}.hearts-code button{font-size:12px;padding:8px}.hearts-seats{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hearts-seat{background:#1d2d3f;padding:13px 16px;border:1px solid #4d677655;border-radius:10px;overflow:hidden}.hearts-seat.turn{border-color:#e7c37a;box-shadow:inset 0 0 0 1px #e7c37a}.hearts-seat.you{background:#203d48}.hearts-seat>span{font-size:10px;letter-spacing:.14em;color:#9fc8cc}.hearts-seat strong{display:block;margin:7px 0;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hearts-seat div{font-size:11px;color:#bfccd8}.hearts-seat b{font-size:23px;color:#f6dfb2;margin-right:5px}.hearts-seat small{display:block;font-size:10px;color:#bac5cd;margin-top:3px}.hearts-felt{position:relative;max-width:1200px;margin:16px auto;background:radial-gradient(ellipse at center,#255b59,#153d42 70%,#112f36);border:6px solid #6f4b38;border-radius:30px;box-shadow:0 0 0 2px #b38d58,inset 0 0 0 2px #bca16944;padding:15px 20px;min-height:250px}.hearts-turn{display:flex;justify-content:space-between;gap:12px;font-size:15px;text-align:center;color:#f7e4b9}.hearts-turn [data-clock]{font-variant-numeric:tabular-nums;color:#bdede3;min-width:35px}.hearts-trick{display:flex;align-items:center;justify-content:center;gap:30px;min-height:164px;padding:14px 0}.hearts-played{display:flex;flex-direction:column;align-items:center;gap:7px}.hearts-played>span{font-size:11px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hearts-emblem{display:flex;align-items:center;gap:18px;opacity:.37;font-size:85px;color:#efc777}.hearts-emblem span{font-family:Georgia,serif;font-size:27px;letter-spacing:.14em}.hearts-table-meta{font-size:11px;color:#a4c6be;text-align:center;margin:0}.hearts-last{font-size:11px;text-align:center;color:#bdd3ca;margin-top:6px}.hearts-last summary{cursor:pointer}.hearts-last p{line-height:1.5}.hearts-card{position:relative;display:flex;justify-content:space-between;flex-direction:column;width:68px;min-width:68px;height:103px;padding:7px!important;border:1px solid #e2cba5!important;border-radius:7px!important;background:linear-gradient(135deg,#fff9e9,#ecdcb7)!important;color:#19343d!important;box-shadow:0 3px 8px #06131755;font-family:Georgia,serif!important;font-size:17px!important;text-align:left!important;transition:transform .12s,box-shadow .12s}.hearts-card.red{color:#b73555!important}.hearts-card small{display:block;font-size:14px;line-height:1}.hearts-card b{position:absolute;top:38px;left:24px;font-size:29px}.hearts-card>span:last-child{transform:rotate(180deg);align-self:flex-end}.hearts-card.selected{transform:translateY(-10px);outline:3px solid #73e5d8;box-shadow:0 8px 20px #0006}.hearts-player button.hearts-card:disabled{opacity:.58}.hearts-player button.hearts-card:not(:disabled):hover{transform:translateY(-7px)}.hearts-hand{max-width:1200px;margin:20px auto}.hearts-hand>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:13px}.hearts-hand strong{font-size:14px}.hearts-hand span{font-size:11px;color:#bdd0db}.hearts-cards{display:flex;gap:6px;overflow-x:auto;justify-content:center;padding:12px 4px 8px;min-height:126px}.hearts-actions{max-width:1200px;margin:14px auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hearts-actions small{font-size:11px;color:#b4c5d1;flex:1;min-width:200px}.hearts-history{max-width:1200px;margin:20px auto;background:#1b2b3c;padding:15px;border-radius:8px}.hearts-history summary{cursor:pointer}.hearts-score-wrap{overflow:auto}.hearts-history table{width:100%;text-align:center;border-collapse:collapse;margin-top:12px;font-size:13px}.hearts-history th,.hearts-history td{padding:9px;border-bottom:1px solid #56708044}.hearts-history th{color:#e2c18c}.hearts-rules{max-width:1000px;margin:22px auto}.hearts-rules a{color:#78e1d6}.hearts-empty{padding:50px 20px;max-width:760px;margin:auto;line-height:1.7;text-align:center}@media(max-width:800px){.hearts-player .machine-top{flex-wrap:wrap;padding:12px}.hearts-player .machine-top h2{font-size:23px}.hearts-player .machine-actions button{font-size:12px;padding:8px}.hearts-content{padding:14px}.hearts-table-head{align-items:start}.hearts-code{display:none}.hearts-seats{gap:5px}.hearts-seat{padding:9px}.hearts-seat strong{font-size:12px}.hearts-seat b{font-size:18px}.hearts-felt{padding:12px;border-radius:20px;min-height:235px}.hearts-trick{gap:12px}.hearts-cards{justify-content:flex-start}.hearts-hand>div:first-child{display:block}.hearts-hand>div:first-child span{display:block;margin-top:5px}.hearts-lobby-grid{grid-template-columns:1fr}.hearts-lobby-suits{font-size:55px}.hearts-footer{font-size:10px;padding:10px}.hearts-turn{font-size:13px}}@media(prefers-reduced-motion:reduce){.hearts-card{transition:none}}

.hearts-cards .hearts-card>span{font-size:17px;color:inherit}@media(max-width:800px){.hearts-table-head{flex-direction:column}.hearts-code{display:flex;max-width:100%}.hearts-code input{max-width:70vw}.hearts-trick{gap:8px}.hearts-trick .hearts-card{width:56px;min-width:56px;height:88px}.hearts-trick .hearts-card b{left:18px;top:31px;font-size:26px}}

@media(min-width:801px) and (max-height:800px){.hearts-player .machine-top{padding:10px 24px}.hearts-content{padding:12px 28px}.hearts-table-head{margin-bottom:10px}.hearts-table-head h3{font-size:24px;margin:5px 0}.hearts-seat{padding:8px 12px}.hearts-seat strong{font-size:14px;margin:4px 0}.hearts-seat b{font-size:18px}.hearts-felt{min-height:175px;padding:10px 14px;margin:12px auto}.hearts-trick{min-height:112px;padding:8px 0}.hearts-trick .hearts-card{height:88px}.hearts-hand{margin:12px auto}.hearts-hand>div:first-child{margin-bottom:4px}.hearts-actions{margin:8px auto}.hearts-footer{padding:8px 24px}.hearts-cards{min-height:116px;padding-top:8px}.hearts-emblem{font-size:62px}.hearts-emblem span{font-size:22px}}
@media(max-width:800px){.hearts-code{width:100%}.hearts-code label{min-width:0;flex:1}.hearts-code input{width:100%;max-width:100%}.hearts-trick .hearts-played{min-width:0;max-width:25%}.hearts-played>span{max-width:65px}}

.hearts-player .machine-top{border-bottom:2px solid #c6a467}.hearts-player .hearts-content{width:100%;max-width:1280px;margin:0 auto}.hearts-lobby-intro{margin:0 auto 18px;display:block}.hearts-lobby-intro h3{font-size:30px;margin:8px 0}.hearts-lobby-intro p{margin:8px 0;font-size:14px;max-width:none}.hearts-lobby-grid{gap:14px}.hearts-lobby-grid form{padding:18px;border-radius:7px}.hearts-record{margin:14px auto;padding:14px 18px}.hearts-record summary{cursor:pointer;font-size:14px;color:#eed29b}.hearts-open-tables{padding:16px 18px;margin:14px auto}.hearts-open-tables h3{font-size:16px}.hearts-open-tables p{font-size:13px;color:#bfccd8}.hearts-lobby-grid h3{font-size:19px;font-family:Georgia,serif}.hearts-rules{border-radius:7px}.hearts-lobby-grid button.primary{width:100%}

.hearts-record h3{font-size:16px;margin-top:18px}.hearts-record table{width:100%;border-collapse:collapse;font-size:13px;text-align:center}.hearts-record td,.hearts-record th{padding:9px;border-bottom:1px solid #56708044}.hearts-record th:first-child{text-align:left}.hearts-record th small{font-weight:400;color:#b4c5d1}.hearts-result{padding:8px 0}.hearts-history-pages{display:flex;gap:8px;margin-top:10px}.hearts-open-tables>small{color:#b4c5d1;font-size:11px}

.ai-seat-badge{display:inline-flex!important;align-items:center;gap:.4em;padding:.25em .55em;border:1px solid #dfb861;border-radius:.5em;background:#293947;color:#ffdf88!important;font-size:.75rem!important}.ai-seat-badge b{font-size:1.35rem}
