*{box-sizing:border-box}body{margin:0;background:#3d2b54;background:radial-gradient(ellipse at 50% 0,#714777,#3d2b54 80%);color:#fff4ef;font:16px Arial,sans-serif;min-width:300px;min-height:100vh}.page{max-width:1160px;padding:23px 28px 15px;margin:auto}.top-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 18px;font-size:13px;color:#ead6e8}.top-nav a{color:inherit;text-decoration:none;font-size:14px}.top-nav a:hover{color:white}.top-nav>span{font-size:11px;letter-spacing:1.4px;font-weight:700}#game-container{border:1px solid #edbbe453;border-radius:19px;overflow:hidden;box-shadow:0 24px 85px #1d103d50}.game-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 27px;background:linear-gradient(105deg,#e989c1,#ed8bb4 60%,#f19aad)}.title{display:flex;align-items:center;gap:16px}#cat-mascot{width:46px;height:46px}.title h1{font-size:28px;letter-spacing:-.7px;line-height:1.1;margin:0;font-weight:800}.title p{font-size:14px;margin:7px 0 0;color:#fff3f0de}.game-stats{display:flex;gap:10px}.stat{display:flex;align-items:center;gap:10px;background:#ffd7df45;border:1px solid #ffe3e51c;border-radius:22px;padding:10px 15px;min-width:93px;justify-content:space-between;font-size:13px}.stat strong{font-size:16px;font-variant-numeric:tabular-nums}.toolbar{padding:15px 24px;display:flex;justify-content:space-between;gap:14px;align-items:center;background:#79509e;border-bottom:1px solid #ecd9f126}.game-controls{display:flex;gap:9px;flex-wrap:wrap}button,summary{font:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #fff0ac;outline-offset:4px}.game-controls button,dialog button{font-size:14px;font-weight:600;line-height:1.2;padding:10px 16px;background:#fff7ee;color:#74518e;border:1px solid #eedcf1;border-radius:8px;box-shadow:0 2px 0 #3d255322}.game-controls button:hover:enabled,dialog button:hover{background:white;transform:translateY(-1px)}button:disabled{opacity:.4;cursor:default}.rules{position:relative;flex-shrink:0;font-size:14px}.rules summary{cursor:pointer;padding:10px 0;color:#f6e7f2}.rules>div{position:absolute;right:0;top:calc(100% + 12px);width:320px;max-width:85vw;padding:16px 20px;border:1px solid #e7cbe4;border-radius:12px;color:#5a405c;background:#fff5ed;box-shadow:0 15px 35px #2f15484d;z-index:10;line-height:1.5;font-size:14px}.rules p{margin:0 0 12px}.rules p:last-child{margin:0}.game-board{background:radial-gradient(ellipse at 75% 30%,#ab75b7aa,transparent 70%),linear-gradient(120deg,#7749a4,#a773b6);padding:12px 15px 0}#table{position:relative;width:100%;aspect-ratio:1000/700}#game-canvas,#card-controls{position:absolute;inset:0;width:100%;height:100%;display:block}#game-canvas{pointer-events:none}#card-controls{pointer-events:none}.card-hit{position:absolute;border:0;border-radius:6px;background:transparent;padding:0;pointer-events:auto;touch-action:none;color:transparent;cursor:grab}.card-hit:active{cursor:grabbing}.card-hit:disabled{cursor:default;pointer-events:none}.card-hit:focus-visible{outline:3px solid #fff0ac;outline-offset:3px;background:#ffe69c1a}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 11px 22px;border-top:1px solid #f0d2f02b;min-height:66px}#game-status{font-size:14px;line-height:1.5;margin:0;max-width:610px;color:#ffeff8}.suit-key{display:flex;flex-direction:column;gap:7px;font-size:12px;white-space:nowrap;line-height:1.2}.suit-key span:first-child{color:#dcecff}.suit-key span:last-child{color:#ffd7cb}.page-footer{font-size:13px;text-align:center;margin-top:18px;color:#e0c9ddab}dialog{max-width:450px;width:calc(100% - 36px);border:1px solid #eed4de;border-radius:20px;padding:35px;background:#fff6ec;color:#785081;text-align:center;box-shadow:0 25px 90px #17072266}dialog::backdrop{background:#2d17437d;backdrop-filter:blur(5px)}dialog h2{font-size:30px;letter-spacing:-1px;margin:15px 0 9px}dialog p{font-size:16px;line-height:1.5}.celebration{font-size:36px;color:#cf82b5}.win-stats{color:#987c93;font-size:14px!important}dialog button{display:block;margin:20px auto 0;background:#e991bc;color:#fff;min-width:180px;border:0;padding:13px 20px}.quiet{background:transparent;color:#90748a;font-weight:400;font-size:14px;margin-top:7px;box-shadow:none}dialog button.quiet:hover{background:transparent;color:#4f2e5a}@media(max-width:900px){.game-header{flex-wrap:wrap;padding:20px}.game-stats{margin-left:62px}.title h1{font-size:27px}.stat{padding:8px 13px}.table-footer{gap:15px}}@media(max-width:600px){.page{padding:13px 9px 12px}.top-nav{padding:0 5px;margin-bottom:13px}.top-nav>span{display:none}#game-container{border-radius:13px}.game-header{padding:19px 15px;gap:17px}.title{gap:11px}#cat-mascot{width:40px;height:40px}.title h1{font-size:25px;letter-spacing:-.8px}.game-stats{width:100%;margin-left:0;gap:7px}.stat{flex:1;min-width:0;gap:6px;padding:9px 12px;font-size:12px}.stat strong{font-size:15px}.toolbar{padding:12px 10px;flex-wrap:wrap;gap:7px}.game-controls{gap:6px}.game-controls button{font-size:13px;padding:10px 12px}.rules{margin-left:auto;font-size:13px}.rules summary{padding:5px}.game-board{padding:5px 3px 0}.table-footer{flex-direction:column;align-items:flex-start;padding:14px 10px 17px;gap:12px}#game-status{font-size:14px}.suit-key{flex-direction:row;gap:12px;font-size:11px;white-space:normal}.card-hit:focus-visible{outline-width:2px;outline-offset:1px}.page-footer{font-size:12px}.rules>div{right:0}.title p{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
