:root{--card-width:95px;--card-height:135px;--gap:12px;--border-radius:10px;--stack-gap:30px;--main-green:#0a5323;--dark-green:#08401b;--light-text:#fff;--dark-blue:#2a4c6b;--dark-blue-hover:#3b6a96;--red-suit:#d92d20;--black-suit:#1d2939;--selected-outline:#fdb022}@media (max-width:600px){:root{--card-width:17vw;--card-height:20vw;--gap:0.10vw;--stack-gap:40px}body,html{height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.tableau .card{margin-bottom:-58px!important;top:calc(var(--stack-index, 0) * var(--stack-gap))}@media (max-width:600px){.tableau .card{margin-bottom:-46px!important}.tableau .card.face-up{margin-bottom:-40px!important}.pile.tableau{min-height:calc(var(--card-height) + var(--stack-gap) * 10)}}.tableau .card.face-up{margin-bottom:-52px!important}.tableau-piles{justify-content:center;padding:0 2vw;gap:.8vw;overflow-x:hidden;flex-wrap:nowrap}.pile.tableau{flex:0 0 auto}.foundation-piles{justify-content:flex-end}.top-piles{justify-content:space-between}.game-container{padding-bottom:30px}h1{font-size:1.8rem}}body{background-color:var(--main-green);font-family:Inter,sans-serif;color:var(--light-text);justify-content:flex-start;min-height:100dvh;padding:20px 0;margin:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow-x:hidden;overflow-y:auto;-webkit-text-size-adjust:100%;touch-action:manipulation}.game-container,body{display:flex;flex-direction:column;align-items:center}.game-container{gap:20px;width:100%;max-width:800px;opacity:0;transition:opacity .5s;transform:translateZ(0)}.game-container.active{opacity:1}#farcaster-wall{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--dark-green);color:var(--light-text);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:3000;text-align:center;padding:20px;gap:20px}.hidden{display:none!important}#farcaster-wall h2{font-size:2rem;margin-bottom:10px}#farcaster-wall p{font-size:1.1rem}h1{font-size:2.5rem;margin:0;font-weight:700;text-align:center}.score-display{background-color:var(--dark-green);padding:8px 24px;border-radius:var(--border-radius);font-size:1.2rem;font-weight:700;border:2px solid hsla(0,0%,100%,.2)}.top-piles{display:flex;justify-content:space-between;width:100%;padding:0 var(--gap);box-sizing:border-box;flex-wrap:nowrap}.foundation-piles,.stock-waste-piles,.tableau-piles{display:flex;gap:var(--gap)}.tableau-piles{justify-content:center;width:100%;padding:0 var(--gap);box-sizing:border-box;min-height:calc(var(--card-height) * 1.6);flex-wrap:nowrap;overflow:hidden}.pile{width:var(--card-width);height:var(--card-height);position:relative}.pile.tableau{height:auto}.pile-placeholder{width:var(--card-width);height:var(--card-height);border:2px solid var(--dark-green);border-radius:var(--border-radius);box-sizing:border-box}#stock .pile-placeholder,.card{cursor:pointer}.card{width:var(--card-width);height:var(--card-height);background-color:#fff;align-items:flex-start;border:1px solid #ccc;border-radius:var(--border-radius);box-shadow:0 1px 3px rgba(0,0,0,.1);position:absolute;top:0;left:0;display:flex;flex-direction:column;justify-content:space-between;padding:4px;box-sizing:border-box;transition:transform .2s ease,opacity .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.card.face-down{background-image:linear-gradient(45deg,#1d4ed8 25%,transparent 0),linear-gradient(-45deg,#1d4ed8 25%,transparent 0),linear-gradient(45deg,transparent 75%,#1d4ed8 0),linear-gradient(-45deg,transparent 75%,#1d4ed8 0);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;background-color:#2563eb;border:1px solid #1e40af}.card.face-down .rank,.card.face-down .suit{display:none}.card.red{color:var(--red-suit)}.card.black{color:var(--black-suit)}.rank{font-weight:700}.rank,.suit{font-size:1.1rem}.suit{align-self:flex-end}.tableau .card{top:auto;position:relative;margin-bottom:-90px}.tableau .card.face-up{margin-bottom:-80px}.tableau .card:last-child{margin-bottom:0}#waste .card:not(:last-child){pointer-events:none}.card.dragging{opacity:.5;transform:scale(1.05);z-index:999}.controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:24px;padding-bottom:env(safe-area-inset-bottom,10px);width:94%;max-width:400px;margin-inline:auto;box-sizing:border-box}@supports (-webkit-touch-callout:none){.controls{transform:translateX(3px)}}.control-btn,.new-game-btn{background-color:var(--dark-blue);color:var(--light-text);border:none;flex:1 1;min-width:140px;padding:12px 20px;border-radius:var(--border-radius);font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .2s;text-align:center}.control-btn:hover,.new-game-btn:hover{background-color:var(--dark-blue-hover)}@media (max-width:600px){.controls{flex-wrap:wrap;gap:10px;margin-bottom:5vh}.control-btn,.new-game-btn{flex:1 1 45%;max-width:45%;padding:12px 0}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:2000;opacity:0;pointer-events:none;transition:opacity .3s ease-in-out}.modal-overlay.show{opacity:1;pointer-events:auto}.modal-content{background-color:var(--light-text);color:var(--dark-green);padding:30px 40px;max-width:400px}.modal-content h2{font-size:2.2rem;margin:0 0 10px}.modal-content p{font-size:1.1rem;margin:0 0 20px}#current-player-status{font-size:1rem;font-weight:700;margin-bottom:15px}#leaderboard-table{width:100%;border-collapse:collapse;margin-bottom:20px}#leaderboard-table td,#leaderboard-table th{padding:8px;text-align:left}#leaderboard-table th{border-bottom:2px solid var(--dark-green)}#leaderboard-table td:first-child,#leaderboard-table td:last-child{text-align:center}@media (max-width:600px){:root{--card-width:13vw;--card-height:18.5vw;--stack-gap:36px}body,html{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.game-container{transform:scale(.92);transform-origin:top center;padding-bottom:40px}.tableau-piles{justify-content:center;gap:1vw;padding:0 3vw;overflow:visible}.pile.tableau{flex:0 0 auto;min-height:calc(var(--card-height) + var(--stack-gap) * 8)}h1{font-size:1.6rem;margin-top:4px}.score-display{font-size:1rem;padding:6px 16px}#current-player-status{font-size:.9rem}.controls{flex-wrap:wrap;gap:10px;margin-top:20px;padding-bottom:12px}.control-btn,.new-game-btn{flex:1 1 46%;max-width:46%;padding:11px 0;font-size:.9rem}}.card:active{transform:scale(.97);transition:transform .05s ease}.card,.pile{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.card,.pile,body,html{touch-action:manipulation}.card.selected{outline:3px solid var(--selected-outline);box-shadow:0 0 12px hsla(0,0%,100%,.5);z-index:1000}#confetti-canvas{will-change:transform}.checkin-wrapper{display:flex;flex-direction:column;align-items:center;gap:6px;margin:10px 0 6px}.checkin-btn{background:linear-gradient(90deg,#18793a,#42b86c);color:#fff;border:none;border-radius:12px;padding:10px 20px;font-size:1rem;font-weight:800;letter-spacing:.2px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.25);transition:transform .15s ease,box-shadow .2s ease,filter .2s ease;-webkit-tap-highlight-color:transparent}.checkin-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.28)}.checkin-btn:active{transform:translateY(0);filter:brightness(.96)}.checkin-btn.checked,.checkin-btn[aria-disabled=true]{background:linear-gradient(90deg,#2a4c6b,#3b6a96);color:#d5f2e3;cursor:default;box-shadow:none}.checkin-btn.pulse{animation:btnPulse .45s ease}@keyframes btnPulse{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}.checkin-hint{color:hsla(0,0%,100%,.85);font-size:.86rem}.modal.show{display:flex;align-items:center;justify-content:center;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:999}.modal-content{background:#f9f9f9;padding:20px 30px;width:90%;box-shadow:0 8px 20px rgba(0,0,0,.3)}.modal-content h3{font-size:1.4rem;color:#114b27;margin-bottom:16px}.modal-content table{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:.95rem}.modal-content td,.modal-content th{padding:10px 8px;text-align:center;border-bottom:1px solid #ddd}.modal-content tr:nth-child(2n){background:#eef8f0}.modal-content tr:first-child th{border-top:2px solid #1b572f}.modal-content th{background:#1b572f;color:#fff;font-weight:600;text-transform:uppercase}.modal-content td{color:#113c21;font-weight:500}.modal-content button{background:#1b572f;color:#fff;border:none;border-radius:8px;padding:8px 18px;cursor:pointer;font-size:1rem}.modal-content button:hover{background:#267c3e}.onchain-status{margin-top:10px;font-size:14px;color:#999;text-align:center;transition:color .3s ease}.onchain-status.confirmed{color:#2ecc71;font-weight:600}.modal-overlay.show{display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.65);z-index:3000;position:fixed;inset:0;padding:20px}.modal-content{background-color:#f9f9f9;color:#114b27;border-radius:16px;text-align:center;width:92%;max-width:420px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 24px rgba(0,0,0,.35);padding:24px 28px;scrollbar-width:thin;scrollbar-color:#ccc transparent}@media (max-width:600px){.modal-content{max-height:82vh;padding:18px 22px;font-size:.95rem}.modal-content table{font-size:.85rem}.modal-content button{padding:10px 18px;font-size:.9rem}.modal-content h2,.modal-content h3{font-size:1.4rem}}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.35)}.win-actions{display:flex;flex-direction:row;justify-content:center;gap:10px;margin-top:10px}