@import"https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@700&family=EB+Garamond:wght@600&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;background:#0a0005;color:#e8d5b0;font-family:EB Garamond,serif}::-webkit-scrollbar{display:none}html{scrollbar-width:none}.start-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#1a0008,#0a0005 70%);display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:100;animation:fadeIn .8s ease;overflow:hidden}.start-suits{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.start-suit{position:absolute;color:#fff;opacity:.04;pointer-events:none;will-change:transform}.start-suit-rotate-cw{animation:suitRotateCW var(--suit-dur, 30s) linear infinite}.start-suit-rotate-ccw{animation:suitRotateCCW var(--suit-dur, 30s) linear infinite}.start-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.7) 100%);pointer-events:none;z-index:1}.start-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.02) 2px,rgba(0,0,0,.02) 4px);pointer-events:none;z-index:1}.start-screen canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.start-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.start-title{font-family:Cinzel Decorative,serif;font-weight:700;font-size:80px;color:#c9a84c;text-shadow:0 0 20px #cc2244,0 0 40px #8b0000;letter-spacing:.08em;animation:titlePulse 2s ease-in-out infinite alternate}.start-tagline{font-family:EB Garamond,serif;font-size:20px;color:#c9a84c;margin-top:12px}.btn-new-run{font-family:Cinzel Decorative,serif;font-weight:700;font-size:16px;color:#c9a84c;background:transparent;border:1px solid #c9a84c;padding:16px 48px;margin-top:32px;cursor:pointer;letter-spacing:.08em;transition:background .3s,box-shadow .3s,border-color .3s}.btn-new-run:hover{background:#1a0008;border-color:#e8d5b0;box-shadow:0 0 25px #c9a84c4d}.start-high-score{font-size:16px;color:#c9a84c;margin-top:16px;animation:highScoreGlow 2s ease-in-out infinite alternate}.game-screen{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;animation:fadeIn .4s ease}.top-bar{height:48px;flex-shrink:0;background:#0d0005;border-bottom:1px solid #5a0020;display:flex;align-items:center;padding:0 12px;justify-content:space-between}.top-bar-left,.top-bar-right{display:flex;gap:6px}.top-btn{font-family:Cinzel Decorative,serif;font-size:11px;color:#c9a84c;background:transparent;border:1px solid #5a0020;padding:4px 10px;cursor:pointer;transition:background .2s}.top-btn:hover{background:#1a0008}.top-bar-center{font-family:EB Garamond,serif;font-size:12px;color:#c9a84c;display:flex;gap:20px}.main-row{flex:1;display:flex;flex-direction:row;overflow:hidden}.left-panel{width:240px;flex-shrink:0;height:100%;background:linear-gradient(180deg,#1a000d,#0d0005);border-right:1px solid #5a0020;padding:10px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.lp-section{border:1px solid #3a0015;border-radius:4px;padding:6px 8px;background:#0000004d;text-shadow:0 0 8px currentColor;text-align:center;flex-shrink:0}.lp-section-score{border-color:#c9a84c40;background:#8b000026;padding:14px 8px}.lp-blind-box{padding:10px 8px}.lp-select-box{padding:12px 8px}.lp-section-total{border-color:#c9a84c66;background:#c9a84c14;padding:14px 8px}.lp-separator{display:none}.lp-blind-label{font-family:Cinzel Decorative,serif;font-size:17px;color:#c24;text-shadow:0 0 8px #cc2244;text-align:center;display:block;width:100%;flex-shrink:0}.lp-blind-target{font-size:13px;color:#c9a84c;height:18px;text-shadow:0 0 8px #c9a84c;text-align:center;display:block;width:100%}.lp-hr{border:none;border-top:1px solid #3a0015}.lp-label{font-size:11px;color:#c9a84c;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 0 8px #c9a84c;text-align:center}.lp-score-num{font-size:32px;color:#c9a84c;font-weight:700;height:30px;text-shadow:0 0 8px #c9a84c;text-align:center}.lp-hand-name{font-family:Cinzel Decorative,serif;font-size:13px;color:#c24;height:18px;text-shadow:0 0 8px #cc2244;text-align:center}.lp-hand-type{font-size:10px;color:#c9a84c;height:16px;text-shadow:0 0 8px #c9a84c;text-align:center}.lp-chips-mult{height:70px;display:flex;gap:6px;flex-shrink:0}.lp-chips-box,.lp-mult-box{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #3a0015;border-radius:4px}.lp-chips-box{background:#140008cc}.lp-mult-box{background:#8b0000;box-shadow:inset 0 0 12px #0006}.lp-box-label{font-size:12px;color:#c9a84c;text-transform:uppercase;text-shadow:0 0 8px #c9a84c}.lp-mult-box .lp-box-label{font-size:14px;letter-spacing:.1em;color:#fff;text-shadow:0 0 8px rgba(255,255,255,.3)}.lp-mult-times{font-size:14px}.lp-box-num{font-size:24px;color:#fff;text-shadow:0 0 8px rgba(255,255,255,.2)}.lp-total-box{height:48px;background:#c9a84c14;border:1px solid rgba(201,168,76,.4);border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center}.lp-total-label{font-size:12px;color:#c9a84c;text-transform:uppercase;text-shadow:0 0 8px #c9a84c}.lp-total-num{font-size:26px;color:#c9a84c;text-shadow:0 0 8px #c9a84c}.lp-hands-discards{display:flex;gap:6px;height:60px;flex-shrink:0}.lp-hd-box{flex:1;border:1px solid #3a0015;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0000004d}.lp-hd-label{font-size:11px;color:#c9a84c;text-transform:uppercase;text-shadow:0 0 8px #c9a84c}.lp-hd-num{font-size:22px;color:#fff;text-shadow:0 0 8px rgba(255,255,255,.2)}.lp-gold-box{padding:12px 8px;border:1px solid #3a0015;flex-shrink:0;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0000004d}.lp-gold-label{font-size:12px;color:#c9a84c;text-transform:uppercase;text-shadow:0 0 8px #c9a84c}.lp-gold-num{font-size:22px;color:#c9a84c;text-shadow:0 0 8px #c9a84c}.lp-ante-round{font-size:12px;color:#c9a84c;display:flex;justify-content:space-between;padding:10px 8px;text-shadow:0 0 8px #c9a84c;flex-shrink:0}.center-panel{flex:1;position:relative;display:flex;flex-direction:column;overflow:hidden}.center-top-row{height:125px;flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;padding:10px 16px;position:relative;z-index:1}.jokers-section,.relics-section{display:flex;flex-direction:column;gap:4px}.section-label{font-size:13px;color:#c9a84c;text-transform:uppercase;letter-spacing:.1em}.joker-slots,.relic-slots{display:flex;gap:6px}.slot-empty{width:85px;height:115px;flex-shrink:0;border:1px dashed rgba(201,168,76,.3);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#c9a84c;opacity:.3}.center-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}.middle-area{flex:1;position:relative;z-index:1;overflow:hidden}.game-suits{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.game-suit-cw{position:absolute;color:#fff;pointer-events:none;will-change:translate,rotate;animation:gameDrift var(--drift-dur, 40s) linear infinite var(--drift-delay, 0s),gameRotateCW var(--rot-dur, 30s) linear infinite}.game-suit-ccw{position:absolute;color:#fff;pointer-events:none;will-change:translate,rotate;animation:gameDrift var(--drift-dur, 40s) linear infinite var(--drift-delay, 0s),gameRotateCCW var(--rot-dur, 30s) linear infinite}@keyframes gameDrift{0%{translate:0 0}to{translate:0 -120vh}}@keyframes gameRotateCW{0%{rotate:0deg}to{rotate:360deg}}@keyframes gameRotateCCW{0%{rotate:0deg}to{rotate:-360deg}}.center-bg canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.bottom-group{flex-shrink:0;padding-bottom:16px;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:1}.cards-row{display:flex;flex-direction:row;align-items:flex-end;justify-content:center;position:relative;isolation:isolate}.card-face{width:72px;height:100px;flex-shrink:0;background:#1a0a0a;border:1px solid #5a0020;border-radius:6px;cursor:pointer;position:relative;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,z-index 0s;transform-origin:bottom center;will-change:transform;display:flex;flex-direction:column;animation:dealCard .3s ease forwards;margin-right:-16px;z-index:1;pointer-events:auto}.card-face:last-child{margin-right:0}.card-face:hover{transform:translateY(-12px);z-index:50;box-shadow:0 0 18px #c9a84c,0 0 35px #c9a84c4d}.card-face.selected{transform:translateY(-20px);z-index:40;box-shadow:0 0 20px #c9a84c,0 8px 25px #8b000080;border-color:#c9a84c}.card-face.selected:hover{transform:translateY(-20px);z-index:50;box-shadow:0 0 20px #c9a84c,0 8px 25px #8b000080;border-color:#c9a84c}.card-tl{position:absolute;top:4px;left:6px;font-size:10px;line-height:1;display:flex;flex-direction:column;align-items:center}.card-tl-rank{font-weight:700}.card-tl-suit{font-size:8px}.card-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.card-center-rank{font-size:28px;font-weight:700;line-height:1}.card-center-suit{font-size:18px;line-height:1}.card-red{color:#c24}.card-black{color:#e8d5b0}.card-back{width:72px;height:100px;flex-shrink:0;background:#1a0a0a;border:1px solid #5a0020;border-radius:4px;position:relative;overflow:hidden}.card-back-pattern{position:absolute;top:4px;right:4px;bottom:4px;left:4px;background:repeating-linear-gradient(45deg,transparent,transparent 6px,rgba(201,168,76,.25) 6px,rgba(201,168,76,.25) 7px),repeating-linear-gradient(-45deg,transparent,transparent 6px,rgba(201,168,76,.25) 6px,rgba(201,168,76,.25) 7px);border-radius:2px}.card-counter{font-size:11px;color:#c9a84c;text-align:center}.buttons-row{display:flex;gap:8px;justify-content:center}.btn-play{font-family:Cinzel Decorative,serif;font-size:12px;color:#c9a84c;background:transparent;border:1px solid #c9a84c;padding:8px 20px;cursor:pointer;transition:background .2s}.btn-play:hover:not(:disabled){background:#1a0008}.btn-discard{font-family:Cinzel Decorative,serif;font-size:12px;color:#fff;background:#8b0000;border:none;padding:8px 20px;cursor:pointer;transition:opacity .2s}.btn-discard:hover:not(:disabled){opacity:.85}.btn-sort{font-family:Cinzel Decorative,serif;font-size:11px;color:#c9a84c;background:transparent;border:1px solid #c9a84c;padding:8px 12px;cursor:pointer;transition:background .2s}.btn-sort.active{background:#c9a84c;color:#0a0005}.btn-sort:hover:not(.active){background:#1a0008}button:disabled{opacity:.35;cursor:not-allowed}.deck-pile{position:absolute;bottom:16px;right:28px;display:flex;flex-direction:column;align-items:center}.deck-stack{position:relative;width:72px;height:100px}.deck-stack .card-back:nth-child(1){position:absolute;top:0;left:0}.deck-stack .card-back:nth-child(2){position:absolute;top:2px;left:2px}.deck-stack .card-back:nth-child(3){position:absolute;top:4px;left:4px}.deck-count{font-size:11px;color:#c9a84c;margin-top:5px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .2s ease}.modal-box{background:#12000a;border:1px solid #5a0020;border-radius:8px;padding:24px 32px;max-width:400px;width:90%;text-align:center}.modal-title{font-family:Cinzel Decorative,serif;font-size:20px;color:#c9a84c;margin-bottom:12px}.modal-text{font-size:14px;color:#e8d5b0;margin-bottom:20px;line-height:1.6}.modal-btn{font-family:Cinzel Decorative,serif;font-size:13px;color:#c9a84c;background:transparent;border:1px solid #c9a84c;padding:8px 24px;cursor:pointer;transition:background .2s}.modal-btn:hover{background:#1a0008}.modal-btn-danger{background:#8b0000;border-color:#8b0000;color:#fff}.modal-btn-danger:hover{background:#a00000}.rules-modal{background:#12000a;border:1px solid #5a0020;border-radius:8px;padding:24px 32px;width:780px;max-width:92vw;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;animation:rulesModalIn .3s ease}@keyframes rulesModalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.rules-title{display:flex;align-items:center;justify-content:center;gap:16px;font-family:Cinzel Decorative,serif;font-size:20px;font-weight:700;color:#c9a84c;margin-bottom:16px;flex-shrink:0}.rules-title-line{flex:1;height:1px;background:linear-gradient(to right,transparent,#c9a84c40,transparent)}.rules-table-wrap{flex:1;overflow:hidden}.rules-table{width:100%;border-collapse:collapse}.rules-table th{font-family:Cinzel Decorative,serif;font-size:11px;color:#c9a84c;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:8px 12px;border-bottom:1px solid #c9a84c40}.rules-table td{padding:8px 12px;border-bottom:1px solid #5a002030;vertical-align:middle}.rules-table tbody tr:nth-child(odd){background:#8b000014}.rules-table tbody tr:nth-child(2n){background:transparent}.rules-table tbody tr:hover{background:#c9a84c0f}.rules-gothic{font-family:Cinzel Decorative,serif;font-size:13px;color:#c24;font-weight:700;width:160px}.rules-type{font-size:11px;color:#c9a84c;width:180px}.rules-desc{font-size:10px;color:#e8d5b0;opacity:.7;margin-top:2px}.rules-example{white-space:nowrap}.rules-card{display:inline-block;background:#1a0a0a;border:1px solid #5a0020;border-radius:3px;padding:1px 6px;font-size:12px;margin:1px;color:#e8d5b0}.rules-card-red{color:#c24}.rules-score{font-family:Cinzel Decorative,serif;font-size:12px;color:#c9a84c;text-align:center;width:80px}.rules-close-wrap{flex-shrink:0;display:flex;justify-content:center;padding-top:16px;border-top:1px solid #5a002030;margin-top:12px}.options-modal{background:linear-gradient(160deg,#1a0010,#0d0005);border:1px solid rgba(201,168,76,.4);border-radius:12px;box-shadow:0 0 30px #8b00004d,inset 0 0 20px #8b000026;padding:32px 40px;width:400px;max-width:92vw;text-align:center;animation:rulesModalIn .3s ease}.options-title{display:flex;align-items:center;justify-content:center;gap:16px;font-family:Cinzel Decorative,serif;font-size:22px;font-weight:700;color:#c9a84c;margin-bottom:24px}.options-title-line{flex:1;height:1px;background:linear-gradient(to right,transparent,#c9a84c40,transparent)}.options-buttons{display:flex;flex-direction:column;gap:12px}.options-btn{font-family:Cinzel,serif;font-size:14px;color:#c9a84c;background:transparent;border:1px solid rgba(201,168,76,.6);border-radius:4px;padding:12px;width:100%;cursor:pointer;transition:background .2s,border-color .2s}.options-btn:hover{background:#8b0000;border-color:#c9a84c}.options-btn-back{border-color:#c9a84c}.options-btn-danger{background:#8b0000;border-color:#c9a84c99;color:#c9a84c}.options-btn-danger:hover{background:#a00000;border-color:#c9a84c}.options-confirm-text{font-size:14px;color:#e8d5b0;margin-bottom:20px;line-height:1.6}.run-info-modal{background:linear-gradient(160deg,#1a0010,#0d0005);border:1px solid rgba(201,168,76,.4);border-radius:12px;box-shadow:0 0 30px #8b00004d,inset 0 0 20px #8b000026;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:36px 44px;width:480px;max-width:92vw;text-align:center;animation:rulesModalIn .3s ease;overflow:hidden}.run-info-title{display:flex;align-items:center;justify-content:center;gap:16px;font-family:Cinzel Decorative,serif;font-size:22px;font-weight:700;color:#c9a84c;margin-bottom:28px}.run-info-title-line{flex:1;height:1px;background:linear-gradient(to right,transparent,#c9a84c40,transparent)}.run-info-stats{display:flex;flex-direction:column;gap:0;margin-bottom:20px}.run-info-stat{display:flex;justify-content:space-between;align-items:center;padding:10px 4px;border-bottom:1px solid rgba(201,168,76,.12)}.run-info-stat:last-child{border-bottom:none}.run-info-stat-label{font-family:Cinzel,serif;font-size:13px;color:#c9a84c80;letter-spacing:.08em;text-transform:uppercase}.run-info-stat-value{font-family:Cinzel,serif;font-size:15px;color:#c9a84c;text-shadow:0 0 8px rgba(201,168,76,.4)}.run-info-hp{letter-spacing:2px}.run-info-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(201,168,76,.15)}.run-info-section-title{font-family:Cinzel Decorative,serif;font-size:14px;color:#c24;text-shadow:0 0 8px rgba(204,34,68,.4);letter-spacing:.08em;margin-bottom:10px}.run-info-section-content{font-size:13px;color:#c9a84c;opacity:.7}.run-info-empty{font-style:italic;color:#c9a84c66;font-size:12px}.run-info-close-wrap{margin-top:24px;display:flex;justify-content:center}.score-popup{position:absolute;top:40%;left:50%;transform:translate(-50%);z-index:50;pointer-events:none;animation:scorePopup 1.2s ease forwards;font-family:Cinzel Decorative,serif;font-size:32px;color:#c9a84c;text-shadow:0 0 20px #cc2244,0 0 40px #8b0000;white-space:nowrap}.round-transition{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:150;animation:fadeIn .3s ease}.round-transition h2{font-family:Cinzel Decorative,serif;font-size:28px;color:#c9a84c;text-shadow:0 0 20px #cc2244;margin-bottom:8px}.round-transition p{font-size:16px;color:#e8d5b0;margin-bottom:24px}.game-end-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0005;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:300;animation:fadeIn .5s ease}.game-end-screen h1{font-family:Cinzel Decorative,serif;font-size:48px;color:#c9a84c;text-shadow:0 0 20px #cc2244,0 0 40px #8b0000;margin-bottom:16px}.game-end-screen p{font-size:18px;color:#e8d5b0;margin-bottom:32px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes dealCard{0%{opacity:0}to{opacity:1}}@keyframes scorePopup{0%{opacity:0;transform:translate(-50%) translateY(0)}20%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-40px)}}@keyframes titlePulse{0%{text-shadow:0 0 20px #cc2244,0 0 40px #8b0000}to{text-shadow:0 0 35px #cc2244,0 0 60px #8b0000,0 0 80px #5a0010}}@keyframes highScoreGlow{0%{text-shadow:0 0 8px rgba(201,168,76,.4)}to{text-shadow:0 0 16px rgba(201,168,76,.8),0 0 30px rgba(201,168,76,.3)}}@keyframes suitRotateCW{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes suitRotateCCW{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}
