.card{width:85px;height:120px;background:#fffef9;border-radius:6px;border:3px solid #1a1a1a;box-shadow:3px 3px #1a1a1a;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),opacity .2s var(--ease-out);cursor:pointer;position:relative;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;overflow:hidden;color:#1a1a1a}.card:before{content:none}.card:hover{transform:translateY(-4px);box-shadow:4px 6px #1a1a1a}.card:active{transform:translate(2px,2px);box-shadow:1px 1px #1a1a1a}.card-selected{transform:translateY(-6px);box-shadow:0 0 0 4px #1a1a1a,4px 4px #1a1a1a;z-index:100;border-color:#1a1a1a}.card-selected:after{content:"✓";position:absolute;inset:0;background:#1a1a1a33;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5);border-radius:inherit;z-index:11}.card-previewing{box-shadow:0 0 0 3px var(--accent-green),3px 3px #1a1a1a;z-index:100;border-color:var(--accent-green)}.card-pending{opacity:.35;pointer-events:none;transition:opacity .15s}.card-disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.6)}.value-badge{position:absolute;top:4px;left:4px;background:#1a1a1a;color:#fff;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700;z-index:10;border:1px solid #1a1a1a}.card-money{background:linear-gradient(135deg,var(--money-color) 0%,var(--money-color-dark) 100%);border:3px solid #1a1a1a}.money-value{font-size:48px;font-weight:800;color:#1a1a1a;text-shadow:1px 1px 0 rgba(255,255,255,.6);line-height:1;margin:auto}.card-property .color-band{height:38%;width:100%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #1a1a1a}.card-property .card-info{flex:1;background:#fffef9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px;color:#1a1a1a}.card-property .value-badge{top:2px;left:2px;font-size:7px;padding:1px 3px}.rent-table{font-size:8px;font-weight:600;line-height:1.4;text-align:center;color:#333}.card-action{background:#fffef9;border:3px solid #1a1a1a;color:#1a1a1a;padding:8px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.action-circle{width:58px;height:58px;border-radius:50%;background:var(--action-color);border:2px solid #1a1a1a;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.action-circle-text{color:#fff;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;text-align:center;line-height:1.2;padding:4px}.card-rent{background:#fffef9;border:3px solid #1a1a1a;display:flex;flex-direction:column;overflow:hidden}.rent-half{flex:1;display:flex;align-items:center;justify-content:center}.rent-middle-band{background:#fffef9;padding:3px 0;text-align:center;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#1a1a1a;border-top:2px solid #1a1a1a;border-bottom:2px solid #1a1a1a}.card-rent-all{background:#1a1a1a;border:3px solid #1a1a1a;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.rent-all-text{font-size:10px;font-weight:800;text-transform:uppercase;color:#fff;letter-spacing:.5px}.rent-all-sub{font-size:7px;font-weight:700;text-transform:uppercase;color:#aaa;margin-top:4px}.card-joker-universal{background:#fffef9;border:3px solid #1a1a1a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.wild-circle{width:52px;height:52px;border-radius:50%;border:3px solid #1a1a1a;display:flex;align-items:center;justify-content:center;background:#fffef9}.wild-circle-text{font-size:12px;font-weight:900;color:#1a1a1a;letter-spacing:1px}.wild-sub-text{font-size:7px;font-weight:700;color:#888;text-transform:uppercase;margin-top:3px}.rainbow-stripe{position:absolute;bottom:0;left:0;right:0;height:12px;background:linear-gradient(90deg,#8b4513 0% 10%,#87ceeb 10% 20%,#ff69b4 20% 30%,#ff8c00 30% 40%,#dc143c 40% 50%,gold 50% 60%,#228b22 60% 70%,#00008b 70% 80%,#fff 80% 90%,#000 90% 100%);border-radius:0 0 3px 3px}.card-joker-dual{background:#fffef9;border:3px solid #1a1a1a;display:flex;flex-direction:column;overflow:hidden}.joker-half{flex:1;display:flex;align-items:center;justify-content:center}.joker-middle-band{background:#fffef9;padding:3px 0;text-align:center;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:#1a1a1a;border-top:2px solid #1a1a1a;border-bottom:2px solid #1a1a1a}.card-stack-mini{width:55px;height:75px;border-radius:5px;border:3px solid #1a1a1a;box-shadow:2px 2px #0000004d;cursor:default;overflow:hidden}.card-stack-mini:hover,.card-stack-mini:active{transform:none;box-shadow:2px 2px #0000004d}.card-stack-mini .value-badge{font-size:8px;padding:1px 4px;top:3px;left:3px}@media(max-width:640px){.card-stack-mini{width:45px;height:62px;border-width:2px;border-radius:4px}.card-stack-mini .value-badge{font-size:7px;padding:1px 3px;top:2px;left:2px}}.property-set{position:relative;min-height:60px;margin-bottom:12px}.property-set .card{position:absolute;left:0}.property-set-complete{outline:3px solid #1a1a1a;outline-offset:4px}.property-stack-complete{outline:2px solid var(--accent-green);outline-offset:0;border-radius:4px}.property-stack-group.has-building-tag{padding-right:25px}.set-completion-strip{box-sizing:border-box;display:block;height:13px;margin-top:2px;border-radius:0 0 3px 3px;color:#fff;background:var(--accent-green);font-size:8px;font-weight:800;line-height:13px;text-align:center;white-space:nowrap}body.theme-dark .set-completion-strip{color:#10201a}.set-building-tag{position:absolute;top:0;right:-25px;z-index:55;display:flex;width:22px;height:22px;align-items:center;justify-content:center;border:2px solid var(--panel-border);border-radius:4px;color:var(--text-primary);background:var(--panel-bg);box-shadow:var(--shadow-hard-sm);pointer-events:none}.set-building-tag svg{width:16px;height:16px;flex:none}.set-building-hotel{border-color:var(--accent-amber)}.set-progress{font-size:9px;font-weight:700;color:var(--text-secondary);text-align:center;margin-top:4px}.set-progress-complete{color:#1a1a1a}.building-badge{background:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:3px solid #1a1a1a;box-shadow:2px 2px #1a1a1a;font-size:10px;font-weight:900;color:#1a1a1a;line-height:1}.mini-building-badge{position:absolute;top:-6px;right:-6px;font-size:10px;z-index:50;line-height:1}@media(max-width:640px){.card{width:60px;height:85px;border-radius:4px;border-width:2px}.card .value-badge{font-size:8px!important;padding:1px 4px!important}.card .money-value{font-size:30px!important}.card .action-circle{width:40px!important;height:40px!important}.card .action-circle-text{font-size:7px!important}.card .color-band{height:18px!important;font-size:8px!important}.card-property .value-badge{top:1px!important;left:1px!important;font-size:6px!important;padding:0 2px!important}.card .rent-table{font-size:7px!important;padding:2px!important;line-height:1.2!important;color:#000000d9!important}.card .card-info{padding:2px!important}.card .rent-middle-band{font-size:7px!important;padding:2px 0!important}.card .rent-all-text{font-size:8px!important}.card .rent-all-sub{font-size:6px!important}.card .wild-circle{width:36px!important;height:36px!important}.card .wild-circle-text{font-size:9px!important}.card .wild-sub-text{font-size:6px!important}.card .rainbow-stripe{height:6px!important}.card .joker-middle-band{font-size:7px!important;padding:2px 0!important}.building-badge{width:22px;height:22px;font-size:8px}.set-progress{font-size:8px;margin-top:2px}.mini-building-badge{font-size:8px;top:-4px;right:-4px}}#player-hand{-webkit-overflow-scrolling:touch}#player-hand .card{flex-shrink:0;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),margin .2s ease}.hand-scroll-wrapper{position:relative}.hand-scroll-wrapper:before,.hand-scroll-wrapper:after{content:"";position:absolute;top:0;bottom:0;width:24px;z-index:10;pointer-events:none;opacity:0;transition:opacity .3s}.hand-scroll-wrapper:before{left:0;background:linear-gradient(to right,var(--bg-base),transparent)}.hand-scroll-wrapper:after{right:0;background:linear-gradient(to left,var(--bg-base),transparent)}.hand-scroll-wrapper.can-scroll-left:before{opacity:1}.hand-scroll-wrapper.can-scroll-right:after{opacity:1}.set-building-shack{width:auto;min-width:30px;padding:0 3px;right:-33px;border-color:var(--accent-amber);font-size:10px;font-weight:800;line-height:1;white-space:nowrap}.set-completion-strip.set-strip-void{background:#d9d6cc;color:#4a4a4a;border-color:#8a877d}.new-stack-useless>div:first-child{opacity:.55}.new-stack-note{margin-top:2px;font-size:9px;font-weight:800;color:#8f121a}.connection-banner{position:fixed;top:0;left:0;right:0;z-index:10000;text-align:center;padding:8px;font-weight:700;font-size:14px;transition:all .3s ease}.connection-banner.disconnected{background:var(--accent-red);color:#fff}.connection-banner.connected{background:var(--accent-green);color:#fff}.glass-panel{background:var(--panel-bg);border:3px solid var(--panel-border);border-radius:var(--radius-lg);padding:20px;color:var(--text-primary);box-shadow:var(--shadow-hard)}.btn{background:#fff;color:var(--text-primary);border:3px solid #1a1a1a;border-radius:var(--radius-md);padding:16px 32px;min-height:44px;font-size:16px;font-weight:700;cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:1px;box-shadow:var(--shadow-hard-sm);touch-action:manipulation}.btn:active{transform:translate(2px,2px);box-shadow:none}.btn:hover{background:#f5f5f0}.btn-danger{background:var(--accent-red);color:#fff;border-color:#1a1a1a}.btn-danger:hover{background:#a02828}.btn-success{background:var(--accent-green);color:#fff;border-color:#1a1a1a}.btn-success:hover{background:#356b2f}.btn-glow-green{box-shadow:var(--shadow-hard);transition:all .15s var(--ease-out)}.btn-glow-green:hover{box-shadow:5px 5px #1a1a1a;transform:translate(-1px,-1px)}.btn-glow-blue{box-shadow:var(--shadow-hard);transition:all .15s var(--ease-out)}.btn-glow-blue:hover{box-shadow:5px 5px #1a1a1a;transform:translate(-1px,-1px)}.bank-display{background:#fff;border-radius:var(--radius-lg);padding:20px;text-align:center;box-shadow:var(--shadow-hard);border:3px solid #1a1a1a;margin-bottom:16px}.bank-value{font-size:56px;font-weight:900;color:#1a1a1a;line-height:1}.bank-label{font-size:14px;font-weight:700;color:#1a1a1a;text-transform:uppercase;letter-spacing:2px;margin-top:4px}.bank-badge{display:inline-flex;align-items:center;background:var(--accent-amber);color:#fff;font-size:11px;font-weight:900;padding:2px 8px;border-radius:4px;border:2px solid #1a1a1a;letter-spacing:.5px;box-shadow:1px 1px #1a1a1a}.bank-badge-opponent{background:#4a4a4a}.hand-badge{display:inline-flex;align-items:center;gap:2px;background:#f5f5f5;color:#1a1a1a;font-size:11px;font-weight:900;padding:2px 8px;border-radius:4px;border:2px solid #1a1a1a;letter-spacing:.5px;box-shadow:1px 1px #1a1a1a}.hand-badge-opponent{background:#e8e8e8}@media(max-width:640px){.bank-badge,.hand-badge{font-size:10px;padding:1px 6px}}.turn-indicator{position:relative;justify-self:end;min-width:0;max-width:min(38vw,190px);background:#fff;border:3px solid #1a1a1a;border-radius:50px;padding:6px 12px;display:flex;align-items:center;gap:6px;box-shadow:var(--shadow-hard-sm);color:var(--text-primary)}.turn-dot{width:10px;height:10px;border-radius:50%;background:var(--text-muted);animation:pulse 2s infinite}.turn-dot.active{background:#1a1a1a;box-shadow:none;animation:pulse-active 1.5s infinite}.turn-indicator.my-turn,body.theme-dark .turn-indicator.my-turn{background:var(--accent-green);border-color:var(--accent-green)}.turn-indicator.my-turn .turn-dot.active{background:#fff}.turn-dot.active{box-shadow:none}.game-top-hud{position:fixed;top:calc(env(safe-area-inset-top,0px) + 8px);left:max(8px,env(safe-area-inset-left,0px));right:max(8px,env(safe-area-inset-right,0px));max-width:1400px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;z-index:9000;pointer-events:none}.game-top-notices{position:relative;min-width:0;max-width:min(560px,100%)}.game-top-notices>#action-banner-container,.game-top-notices>#joker-placement-banner{position:absolute;top:calc(100% + 6px);left:0;max-width:100%;z-index:2}#action-animation-target{position:fixed;left:50%;top:33%;width:1px;height:1px;pointer-events:none}#action-banner-container{min-width:0}#game-screen #opponents-area{margin-top:64px}#joker-placement-banner,#game-screen .notification,#game-screen .action-banner{position:relative;inset:auto;transform:none;width:fit-content;max-width:100%;box-sizing:border-box;padding:7px 10px;border:2px solid #1a1a1a;border-radius:11px;background:#fff;color:var(--text-primary);box-shadow:2px 2px #1a1a1a;font-size:11px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;animation:none;pointer-events:none}#game-screen .action-banner{display:flex;gap:6px;opacity:1}#game-screen .action-banner-visible{animation:gameNoticeIn .18s ease-out both}@keyframes gameNoticeIn{0%{opacity:0;translate:0 -6px}to{opacity:1;translate:0 0}}#game-screen .action-banner-icon{font-size:17px;line-height:1}#game-screen .action-banner-text{font-size:inherit;white-space:normal;overflow:visible}#game-screen .action-banner-attack{border-color:var(--accent-red)}#game-screen .action-banner-defense{border-color:var(--accent-green)}#game-screen .notification.error{border-color:var(--accent-red);color:var(--accent-red)}#game-screen .notification.success{border-color:var(--accent-green);color:var(--accent-green)}#joker-placement-banner{display:flex;align-items:center;gap:8px;pointer-events:auto}#joker-placement-text{min-width:0;font-size:11px;line-height:1.2}#btn-cancel-joker{flex:none;border:0;border-radius:7px;padding:6px 8px;background:#1a1a1a;color:#fff;font-size:10px;font-weight:800;cursor:pointer}.turn-indicator #turn-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.turn-indicator .turn-dot{flex:none}.modal-content.rules-guide-modal{width:min(680px,calc(100vw - 24px));max-width:none;max-height:min(90dvh,calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 16px));padding:0;display:flex;flex-direction:column;overflow:hidden}.rules-guide-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px 0;gap:12px}.rules-guide-brand,.rules-guide-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:.09em;color:var(--accent-green)}.rules-guide-close{width:36px;height:36px;border:2px solid currentColor;border-radius:50%;background:transparent;color:var(--text-primary);font-size:25px;line-height:1;cursor:pointer}.rules-guide-title{padding:0 20px 12px;font-size:clamp(24px,5vw,34px);line-height:1.1;font-weight:900}#rules-content{overflow-y:auto;overscroll-behavior:contain;padding:0 20px 20px}.rules-guide-intro{margin-bottom:14px;font-size:14px}.rules-guide-goal{padding:14px;border:2px solid var(--accent-green);border-radius:12px;background:color-mix(in srgb,var(--accent-green) 8%,var(--modal-bg))}.rules-guide-goal p{margin:5px 0 0;font-weight:700;line-height:1.4}.rules-guide-quick,.rules-guide-examples,.rules-guide-details{margin-top:18px}.rules-guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 0;padding:0;list-style:none}.rules-guide-step{display:grid;gap:5px;padding:11px;border:2px solid var(--panel-border, #1a1a1a);border-radius:10px;font-size:12px;line-height:1.3}.rules-guide-step strong{font-size:11px;color:var(--text-primary)}.rules-guide-gallery{display:flex;justify-content:center;gap:clamp(10px,5vw,45px);margin-top:10px}.rules-guide-card{margin:0;text-align:center;min-width:0}.rules-guide-card .card{pointer-events:none;margin:0 auto}.rules-guide-card figcaption{margin-top:5px;color:var(--text-secondary);font-size:11px;font-weight:700}.rules-guide-accordion{border-top:1px solid var(--panel-border, #aaa)}.rules-guide-accordion:last-child{border-bottom:1px solid var(--panel-border, #aaa)}.rules-guide-accordion summary{position:relative;cursor:pointer;padding:12px 26px 12px 2px;font-weight:800;list-style:none}.rules-guide-accordion summary::-webkit-details-marker{display:none}.rules-guide-accordion summary:after{content:"+";position:absolute;right:4px;font-size:20px;line-height:1}.rules-guide-accordion[open] summary:after{content:"−"}.rules-guide-accordion-body{padding:0 2px 12px;font-size:13px;line-height:1.48}.rules-guide-accordion-body p+p{margin-top:8px}.rules-guide-footer{flex:none;padding:10px 20px 16px;border-top:2px solid var(--panel-border, #1a1a1a);background:var(--modal-bg, #fff)}.rules-guide-footer .btn{min-height:42px}@media(max-width:500px){.rules-guide-steps{grid-template-columns:1fr;gap:5px}.rules-guide-step{grid-template-columns:75px 1fr;align-items:baseline}.rules-guide-gallery{gap:8px}.rules-guide-card .card{scale:.8;transform-origin:top center;margin-bottom:-20px}}.actions-counter{display:flex;flex-direction:column;align-items:center;gap:4px}.actions-dots{display:flex;gap:8px;justify-content:center}.actions-label{font-size:10px;font-weight:700;white-space:nowrap;text-align:center}@media(max-width:640px){.actions-label{font-size:8px}}.action-dot{width:32px;height:32px;border-radius:50%;background:#1a1a1a;border:3px solid #1a1a1a;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;color:#fff;transition:all .3s ease}.action-dot.used{background:#fff;border-color:#ccc;color:#ccc;opacity:.5}@media(max-width:640px){.action-dot{width:24px;height:24px;font-size:11px}}.modal{position:fixed;inset:0;background:#f0ede6d9;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;transition:all .3s ease-out}.modal:not(.hidden){animation:fadeIn .3s ease-out}.modal-content{background:#fff;border:3px solid #1a1a1a;border-radius:var(--radius-lg);padding:32px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-hard-lg);color:var(--text-primary)}.notification{position:fixed;top:80px;left:50%;transform:translate(-50%);background:#fff;border:3px solid #1a1a1a;border-radius:var(--radius-md);padding:16px 24px;z-index:10000;font-weight:600;color:var(--text-primary);box-shadow:var(--shadow-hard);animation:slideDown .3s ease-out}.notification.error{border-color:var(--accent-red);color:var(--accent-red)}.notification.success{border-color:var(--accent-green);color:var(--accent-green)}.action-banner{background:#fff;border:3px solid #1a1a1a;border-radius:var(--radius-md);padding:12px 24px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-hard);opacity:0;transform:translateY(-40px) scale(.8);pointer-events:auto;max-width:90vw}.action-banner-visible{animation:bannerSlideIn .5s cubic-bezier(.34,1.56,.64,1) forwards}.action-banner-exit{animation:bannerSlideOut .4s ease-in forwards}.action-banner-icon{font-size:32px;flex-shrink:0}.action-banner-text{font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-banner-attack{border-color:var(--accent-red);box-shadow:4px 4px 0 var(--accent-red);animation:bannerSlideIn .5s cubic-bezier(.34,1.56,.64,1) forwards,shake .4s ease-out .5s}.action-banner-defense{border-color:var(--accent-green);box-shadow:4px 4px 0 var(--accent-green)}@media(max-width:640px){.action-banner{padding:8px 16px;gap:8px}.action-banner-icon{font-size:24px}.action-banner-text{font-size:11px}}.reaction-btn{transition:all .2s ease-out}.reaction-btn:active{transform:scale(.8)!important}#reaction-display{animation:bounce .6s ease-out}.avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff;text-transform:uppercase;flex-shrink:0;border:3px solid #1a1a1a;box-shadow:var(--shadow-hard-sm)}.avatar-player{background:#1a1a1a}.avatar-opponent{background:#4a4a4a}@media(max-width:640px){.avatar{width:32px;height:32px;font-size:13px}}.opponents-area{display:flex;gap:8px}.opponent-panel{flex:1;min-width:0;background:var(--panel-bg);border:3px solid var(--panel-border);border-radius:var(--radius-lg);padding:8px 12px;color:var(--text-primary);box-shadow:var(--shadow-hard)}.opponent-panel .opponent-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.opponent-panel .opponent-stats{font-size:9px;color:var(--text-secondary)}.opponent-panel .opponent-props{display:flex;flex-wrap:wrap;gap:6px}.hand-heading{position:relative;display:flex;min-height:24px;align-items:center;justify-content:center;margin-bottom:4px;color:var(--text-secondary);font-size:11px;font-weight:800}.rematch-progress{margin-bottom:8px;color:var(--accent-green);font-size:14px;font-weight:800}#preview-rent-info .rent-breakdown-row{padding:2px 0}#preview-rent-info .rent-breakdown-total{margin-top:6px;padding-top:6px;border-top:1px solid var(--panel-border);color:var(--text-primary);font-weight:800}.opponent-panel.compact .avatar{width:24px;height:24px;font-size:10px}.opponent-panel.compact .opponent-stats{font-size:8px}@media(max-width:640px){.opponents-area{flex-direction:column;gap:4px}.opponent-panel{padding:6px 8px}}.player-select-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:#fff;border:3px solid #1a1a1a;border-radius:var(--radius-md);cursor:pointer;transition:all .15s;box-shadow:var(--shadow-hard-sm);text-align:left}.player-select-btn:hover{box-shadow:3px 3px #1a1a1a;transform:translate(-1px,-1px)}.player-select-btn:active{transform:translate(2px,2px);box-shadow:none}.action-buttons-column{display:flex;flex-direction:column;gap:8px;align-items:center}.action-buttons-column>div{display:flex;flex-direction:column;align-items:center;width:100%}.action-btn-circle{width:48px;height:48px;border-radius:50%;background:#fff;border:3px solid #1a1a1a;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:all .15s;box-shadow:var(--shadow-hard-sm);color:var(--text-primary)}.action-btn-circle:active{transform:translateY(2px);box-shadow:none}@media(hover:hover)and (pointer:fine){.action-btn-circle:hover{box-shadow:3px 3px #1a1a1a;transform:translateY(-1px)}}.action-btn-circle.btn-end-turn{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.action-btn-circle.btn-leave{background:#fff;color:var(--text-muted)}.action-btn-label{font-size:8px;font-weight:700;text-align:center;color:var(--text-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}@media(max-width:640px){.action-btn-circle{width:40px;height:40px;font-size:16px}.action-btn-label{font-size:7px}}.card-action-menu{position:fixed;bottom:calc(210px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:5000;display:flex;gap:16px;padding:12px 20px;background:#fff;border:3px solid #1a1a1a;border-radius:var(--radius-lg);box-shadow:var(--shadow-hard);animation:fadeIn .2s ease-out}.card-action-menu.hidden{display:none!important}.card-menu-btn-wrapper{display:flex;flex-direction:column;align-items:center;gap:4px}.card-menu-btn{width:56px;height:56px;border-radius:50%;border:3px solid #1a1a1a;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;box-shadow:var(--shadow-hard-sm);color:#fff;padding:0}.card-menu-btn:active{transform:translate(2px,2px);box-shadow:none}.card-menu-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #1a1a1a}.card-menu-btn-icon{font-size:24px;line-height:1}.card-menu-btn-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted)}@media(max-width:640px){.card-action-menu{bottom:calc(160px + env(safe-area-inset-bottom,0px));gap:10px;padding:8px 14px}.card-menu-btn{width:44px;height:44px}.card-menu-btn-icon{font-size:18px}.card-menu-btn-label{font-size:7px}}.card-preview-overlay{position:fixed;inset:0;z-index:6000;display:flex;align-items:center;justify-content:center}.card-preview-overlay.hidden{display:none!important}.card-preview-backdrop{position:absolute;inset:0;background:#1a1a1a80}.card-preview-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:80px}.card-preview-card-wrapper .card{transform:scale(2.5);box-shadow:0 0 0 4px #1a1a1a,8px 8px #0000004d;animation:cardPreviewIn .3s cubic-bezier(.34,1.56,.64,1) forwards;pointer-events:none}.card-preview-card-wrapper .card:hover{transform:scale(2.5)}.card-preview-actions{display:flex;gap:16px;padding:12px 20px;background:#fff;border:3px solid #1a1a1a;border-radius:var(--radius-lg);box-shadow:var(--shadow-hard);animation:fadeIn .2s ease-out}.card-preview-actions.has-help{flex-wrap:wrap;justify-content:center;max-width:min(340px,92vw)}.card-preview-help{flex:1 1 100%;margin:0 0 4px;font-size:13px;font-weight:600;line-height:1.35;text-align:center;color:#1a1a1a}.card-preview-rent-info{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.card-preview-rent-info:empty{display:none}.rent-info-row{display:flex;align-items:center;gap:4px;background:#fff;border:2px solid #1a1a1a;border-radius:6px;padding:4px 8px;box-shadow:2px 2px #1a1a1a}.rent-info-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid #1a1a1a;flex-shrink:0}.rent-info-label{font-size:10px;font-weight:600;color:#666}.rent-info-amount{font-size:11px;font-weight:800;color:#1a1a1a}.rent-info-empty{font-size:10px;color:#999;text-align:center}@keyframes cardPreviewIn{0%{transform:scale(.8);opacity:0}to{transform:scale(2.5);opacity:1}}@media(min-width:641px){.card-preview-card-wrapper .card,.card-preview-card-wrapper .card:hover{transform:scale(2)}.card-preview-content{gap:60px}@keyframes cardPreviewIn{0%{transform:scale(.8);opacity:0}to{transform:scale(2);opacity:1}}}.deck-card-visual{width:60px;height:85px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:20px;box-shadow:var(--shadow-hard-sm);position:relative}.deck-card-visual.draw-pile{background:#1a1a1a;border:3px solid #1a1a1a;color:#fff}.deck-card-visual.discard-pile{background:#fff;border:3px solid #1a1a1a;color:var(--text-muted)}.deck-count{font-size:22px;font-weight:900;line-height:1}.deck-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.8;margin-top:4px}@media(max-width:640px){.deck-card-visual{width:48px;height:68px;border-radius:4px}.deck-count{font-size:18px}.deck-label{font-size:7px}}.waiting-overlay{position:fixed;inset:0;background:#f0ede6d9;z-index:900;display:flex;align-items:center;justify-content:center}.waiting-content{background:#fff;border:3px solid #1a1a1a;border-radius:var(--radius-lg);padding:32px 48px;text-align:center;font-weight:700;font-size:16px;color:var(--text-primary);box-shadow:var(--shadow-hard-lg)}.waiting-spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#1a1a1a;border-radius:50%;margin:0 auto 16px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.turn-timer{font-size:10px;font-weight:800;color:#1a1a1a;background:#f5f5f5;border:2px solid #1a1a1a;border-radius:4px;padding:1px 5px;margin-left:4px}.turn-timer.hidden{display:none}.turn-timer.warning{color:#dc143c;border-color:#dc143c;animation:timerPulse .5s infinite}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.4}}.lobby-settings-panel{background:var(--bg-surface);border:var(--border-thick);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard-sm);padding:12px 12px 10px;margin:8px 0 0}.lobby-settings-accordion{margin-bottom:8px}.lobby-settings-toggle{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:inherit;color:var(--text-primary);background:var(--bg-surface);border:var(--border-thick);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard-sm);padding:8px 36px 8px 12px;cursor:pointer;transition:transform .12s var(--ease-out),box-shadow .12s var(--ease-out)}.lobby-settings-toggle:active{transform:translate(2px,2px);box-shadow:none}.lobby-settings-toggle-head{display:flex;justify-content:center;min-width:0}.lobby-settings-toggle .lobby-settings-title{margin-bottom:0;white-space:nowrap}.lobby-settings-summary{display:block;max-width:100%;text-align:center;font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby-settings-chevron{position:absolute;right:12px;top:50%;width:16px;height:16px;transform:translateY(-50%);transition:transform .2s var(--ease-out)}.lobby-settings-accordion.open .lobby-settings-chevron{transform:translateY(-50%) rotate(180deg)}.lobby-settings-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s var(--ease-out)}.lobby-settings-collapse-inner{overflow:hidden;min-height:0}.lobby-settings-accordion.open .lobby-settings-collapse{grid-template-rows:1fr}.lobby-settings-title{display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--text-primary);margin-bottom:10px}.lobby-settings-title:before,.lobby-settings-title:after{content:"";width:12px;height:12px;flex-shrink:0;background:url(/textures/rivet.svg) center / contain no-repeat}.lobby-presets{display:flex;gap:6px;margin-bottom:12px}.lobby-preset-btn{flex:1;padding:7px 4px;font-family:inherit;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);background:var(--bg-elevated);border:2px solid var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-hard-sm);cursor:pointer;transition:transform .12s var(--ease-out),box-shadow .12s var(--ease-out),background .12s var(--ease-out)}.lobby-preset-btn:hover{background:var(--bg-base);transform:translate(-1px,-1px);box-shadow:3px 3px #1a1a1a}.lobby-preset-btn:active{transform:translate(2px,2px);box-shadow:none}.lobby-settings-section+.lobby-settings-section{margin-top:10px}.lobby-settings-section-title{display:inline-block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--bg-base);background:var(--text-primary);border-radius:var(--radius-sm);padding:3px 8px;margin-bottom:4px}.lobby-settings-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 8px;min-height:36px;padding:3px 4px;border-radius:var(--radius-sm)}.lobby-settings-row:hover{background:var(--bg-base)}.lobby-settings-label-wrap{display:inline-flex;align-items:center;gap:8px;min-width:0}.lobby-settings-label{font-size:12px;font-weight:700;color:var(--text-primary)}.lobby-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;background:var(--bg-elevated);border:2px solid var(--text-primary);border-radius:var(--radius-sm);box-shadow:1px 1px #1a1a1a;color:var(--text-primary)}.lobby-icon svg{width:15px;height:15px}.lobby-segmented{display:inline-flex;gap:3px;padding:3px;background:var(--bg-elevated);border:2px solid var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-hard-sm)}.lobby-seg-btn{min-width:30px;padding:5px 8px;border:2px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:inherit;font-size:11px;font-weight:800;text-transform:uppercase;cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out)}.lobby-seg-btn:hover{color:var(--text-primary);background:var(--bg-base)}.lobby-seg-btn.active{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-base);box-shadow:inset 1px 1px #ffffff40}.lobby-mode-desc{flex-basis:100%;margin:0;padding-left:34px;text-align:left;font-size:11px;line-height:1.35;color:var(--text-secondary)}.lobby-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.lobby-list-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:2px solid var(--panel-border, #1a1a1a);border-radius:8px;background:#ffffff0d}.lobby-list-info{display:flex;flex-direction:column;gap:2px;min-width:0}.lobby-list-name{font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-list-count{font-size:12px;font-weight:700;color:var(--accent-green)}.lobby-list-join{flex-shrink:0;width:auto;padding:8px 16px;font-size:13px}.lobby-list-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.lobby-list-chips{display:flex;gap:4px}.lobby-chip{font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;background:#00000012;color:var(--text-secondary)}.lobby-list-empty{text-align:center;color:var(--text-secondary);font-size:13px;padding:16px 0}.lobby-list-empty-icon{font-size:28px;margin-bottom:6px;opacity:.6}.lobby-slot-left{display:flex;align-items:center;gap:10px;min-width:0}.lobby-slot-avatar{width:30px;height:30px;font-size:13px;border-width:2px;background:#4a4a4a}.lobby-slot-text{display:flex;flex-direction:column;gap:2px;min-width:0}.lobby-slot-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-slot-badge{display:flex;gap:4px}.lobby-badge{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;color:#fff;white-space:nowrap}.lobby-badge--you{background:#2d5a27}.lobby-badge--host{background:#8b6914}.lobby-slot-status{font-weight:800;flex-shrink:0}.lobby-player-row.empty{border-style:dashed;opacity:.65}.lobby-player-row.empty .lobby-slot-avatar{background:transparent;border-style:dashed}.lobby-settings-hint{font-size:10px;color:var(--text-muted);text-align:center}.lobby-toggle-switch{position:relative;display:inline-block;width:50px;height:28px;flex-shrink:0;cursor:pointer}.lobby-toggle-switch input{opacity:0;width:0;height:0}.lobby-toggle-slider{position:absolute;inset:0;background:var(--bg-elevated);border:2px solid var(--text-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-hard-sm);transition:background .18s var(--ease-out),transform .12s var(--ease-out),box-shadow .12s var(--ease-out)}.lobby-toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;top:50%;transform:translateY(-50%);background:var(--bg-elevated);border:2px solid var(--text-primary);border-radius:50%;transition:transform .18s var(--ease-spring)}.lobby-toggle-switch input:checked+.lobby-toggle-slider{background:var(--accent-green)}.lobby-toggle-switch input:checked+.lobby-toggle-slider:before{transform:translateY(-50%) translate(20px)}.lobby-toggle-switch:active .lobby-toggle-slider{transform:translate(1px,1px);box-shadow:1px 1px #1a1a1a}.lobby-toggle-switch input:focus-visible+.lobby-toggle-slider{outline:2px solid var(--accent-blue);outline-offset:2px}.lobby-settings-panel.readonly{pointer-events:none;opacity:.6}.settings-modal-content{width:min(360px,90vw);padding:24px}.settings-game-mode{margin:-8px 0 12px;font-size:12px;line-height:1.35;text-align:center;color:var(--text-secondary)}.action-btn-circle svg{width:20px;height:20px}.payment-modal-content{display:flex;flex-direction:column;max-height:92dvh;overflow:hidden;width:min(560px,92vw)}.payment-modal-content #payment-selection-section{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;margin-bottom:0}.payment-footer{flex-shrink:0;border-top:2px solid var(--text-primary);padding-top:10px;margin-top:10px;background:#fff}#payment-modal .card{width:60px;height:85px;border-radius:4px;border-width:2px}#payment-modal .card .value-badge{font-size:8px!important;padding:1px 4px!important}#payment-modal .card .money-value{font-size:30px!important}#payment-modal .card .action-circle{width:40px!important;height:40px!important}#payment-modal .card .action-circle-text{font-size:7px!important}#payment-modal .card .color-band{height:18px!important;font-size:8px!important}#payment-modal .card-property .value-badge{top:1px!important;left:1px!important;font-size:6px!important;padding:0 2px!important}#payment-modal .card .rent-table{font-size:7px!important;padding:2px!important}.svg-icon{display:inline-flex;align-items:center;justify-content:center}.svg-icon svg{width:1em;height:1em;display:block}.btn-with-icon{display:inline-flex!important;align-items:center;justify-content:center;gap:6px}.btn-with-icon .svg-icon svg{width:16px;height:16px}.card-menu-btn-icon{display:inline-flex;align-items:center}.card-menu-btn-icon svg{width:24px;height:24px;display:block}.lobby-badge{display:inline-flex;align-items:center;gap:3px}.lobby-badge svg{width:10px;height:10px}.lobby-slot-status svg{width:20px;height:20px;display:block}.mini-building-badge svg{width:16px;height:16px;display:block}.lobby-chip{display:inline-flex;align-items:center;gap:3px}.lobby-chip svg{width:11px;height:11px}.bot-mark svg{width:12px;height:12px;margin-right:4px;vertical-align:-2px;opacity:.75}.chip-row{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;margin-left:4px;vertical-align:middle}.chip-row[hidden]{display:none}.chip-dots{display:inline-flex;gap:3px}.chip-dot{width:11px;height:11px;border-radius:50%;background:var(--chip);border:2px solid #1a1a1a;box-sizing:border-box}.chip-dot.chip-out{background:transparent;border-style:dashed;border-color:var(--chip)}.chip-pill{display:inline-flex;align-items:center;gap:4px;padding:1px 6px 1px 4px;border:2px solid #1a1a1a;border-radius:999px;background:#fffef9;color:#1a1a1a;font-size:9px;font-weight:700;line-height:1.3;white-space:nowrap}.chip-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--chip);border:1.5px solid #1a1a1a;flex:none}.chip-pill.chip-owes{border-color:var(--accent-red, #d6322f)}.chip-pill.chip-holds{border-color:var(--accent-green, #2e9e4f)}.recap-event+.recap-event{margin-top:10px;padding-top:8px;border-top:2px dashed rgba(26,26,26,.3)}.recap-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;line-height:1.25;margin-bottom:4px}.recap-icon svg{width:16px;height:16px}.recap-row{margin-top:4px}.recap-route{display:flex;align-items:center;gap:6px;font-size:11px}.recap-side{display:flex;flex-direction:column;padding-left:6px;border-left:4px solid var(--chip, #1a1a1a);line-height:1.15}.recap-side small{font-size:9px;opacity:.7}.recap-arrow{font-weight:800}.recap-cards{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.recap-cards .card{zoom:.5;margin:0;pointer-events:none}.recap-chip{margin-top:4px;font-size:11px;font-weight:700;color:var(--accent-red, #d6322f)}.recap-history-content{max-height:80vh;display:flex;flex-direction:column;gap:8px}.recap-history-list{overflow-y:auto;flex:1;min-height:0;text-align:left;color:#1a1a1a}.recap-history-list .recap-event{padding:6px 8px;border:2px solid #1a1a1a;border-radius:10px;background:#fffef9;margin:0 0 8px}.recap-empty{text-align:center;opacity:.7}.recap-flash{animation:recapFlash 1.6s ease-out}@keyframes recapFlash{0%,40%{outline:4px solid #ef8f10;outline-offset:2px}to{outline:4px solid transparent;outline-offset:2px}}@media(prefers-reduced-motion:reduce){.recap-flash,.last-action-new{animation:none}}.counter-preview:empty{display:none}.counter-preview{margin-bottom:14px;text-align:center}.counter-preview-label{font-size:12px;font-weight:800;color:var(--text-primary);margin-top:4px}.counter-preview-cards{justify-content:center}.counter-preview-cards .card{zoom:.6}.last-action{display:block;box-sizing:border-box;width:100%;height:48px;margin:0;padding:3px 9px;pointer-events:auto;text-align:left;font:inherit;color:#1a1a1a;background:#fffef9;border:3px solid #1a1a1a;border-radius:12px;box-shadow:3px 3px #1a1a1a;cursor:pointer;overflow:hidden;transition:background-color .3s,border-color .3s,box-shadow .3s}.tk-body{display:flex;flex-direction:column;justify-content:center;gap:3px;height:100%;min-width:0}.tk-title{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;line-height:15px;min-width:0}.tk-title .recap-icon svg{width:14px;height:14px}.tk-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tk-row{display:flex;align-items:center;gap:10px;min-width:0;height:18px;overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}.tk-group{display:inline-flex;align-items:center;gap:4px;flex:none}.tk-who{font-size:11px;font-weight:700;margin-right:2px}.tk-zone{display:inline-flex;opacity:.75}.tk-zone svg{width:13px;height:13px}.tk-note{font-size:11px;font-weight:700}.tk-hint{font-weight:500;opacity:.6}.pill{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;box-sizing:border-box;border:2px solid #1a1a1a;border-radius:6px;background:#fff;color:#1a1a1a;font-size:10px;font-weight:800;line-height:1;white-space:nowrap;flex:none}.pill-money{background:#f3e3a0}.pill-prop:before{content:"";width:9px;height:9px;border-radius:2px;border:1.5px solid #1a1a1a;background:var(--c);flex:none}.pill-action{background:var(--c);color:#fff}.tk-loss{background:#fdeceb;border-color:var(--accent-red, #d6322f);box-shadow:3px 3px 0 var(--accent-red, #d6322f)}.tk-gain{background:#eaf6ec;border-color:#2e9e4f;box-shadow:3px 3px #2e9e4f}.tk-empty,.tk-blocked{background:#f1efe6}.tk-jsn{background:#eaf6ec;border-color:#2e9e4f}.tk-info .tk-title{font-weight:700}.last-action-new{animation:lastActionIn .6s ease-out}@keyframes lastActionIn{0%{background:#ffe9a8}}.recap-route{gap:6px}.recap-route .tk-zone svg{width:14px;height:14px}.recap-history-list .recap-event-loss{border-color:var(--accent-red, #d6322f);background:#fdeceb}.recap-history-list .recap-event-gain{border-color:#2e9e4f;background:#eaf6ec}.recap-flash-loss{animation:recapFlashLoss 1.6s ease-out}@keyframes recapFlashLoss{0%,40%{outline:4px solid #d6322f;outline-offset:2px}to{outline:4px solid transparent;outline-offset:2px}}.outcome-stamp{position:fixed;left:50%;top:44%;z-index:10005;padding:4px 18px 6px;border:4px solid #1a1a1a;border-radius:8px;background:#ffe066;color:#1a1a1a;box-shadow:6px 6px #1a1a1a;font-family:Permanent Marker,Space Grotesk,cursive;font-size:clamp(28px,9vw,48px);line-height:1.1;white-space:nowrap;pointer-events:none;transform:translate(-50%,-50%) rotate(-6deg);animation:stampIn 1.7s ease-out forwards}.stamp-blocked{background:#2e9e4f;color:#fff}.stamp-nomercy{background:#121212;color:#e3262f;border-color:#e3262f;box-shadow:6px 6px #e3262f}@keyframes stampIn{0%{opacity:0;transform:translate(-50%,-50%) rotate(-6deg) scale(2.4)}14%{opacity:1;transform:translate(-50%,-50%) rotate(-6deg) scale(.94)}22%{transform:translate(-50%,-50%) rotate(-6deg) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(-6deg) scale(1)}}@media(prefers-reduced-motion:reduce){.outcome-stamp,.recap-flash-loss{animation-duration:.01s}}.deck-card-visual.discard-pile.has-top{padding:0;overflow:visible}.discard-top{position:absolute;inset:0;border-radius:inherit;overflow:hidden}.discard-top .card{width:100%;height:100%;margin:0;border-width:0;box-shadow:none;border-radius:0;pointer-events:none}.discard-pile.has-top .deck-label{display:none}.discard-pile.has-top .deck-count{position:absolute;right:-8px;bottom:-8px;z-index:2;min-width:22px;height:22px;padding:0 4px;box-sizing:border-box;border:2px solid #1a1a1a;border-radius:999px;background:#fffef9;color:#1a1a1a;font-size:11px;line-height:18px;text-align:center}body:not(.menu-theme),body:not(.menu-theme) .bg-pattern,html:has(body:not(.menu-theme)){background:#2b2f2d}body:not(.menu-theme) .bg-pattern:before{background-image:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,255,255,.035) 20px,rgba(255,255,255,.035) 21px),repeating-linear-gradient(-45deg,transparent,transparent 20px,rgba(255,255,255,.035) 20px,rgba(255,255,255,.035) 21px)}#game-screen .hand-area{background:linear-gradient(to top,#2b2f2d,transparent);border-top-color:#ffffff29}#game-screen .hand-scroll-wrapper:before{background:linear-gradient(to right,#2b2f2d,transparent)}#game-screen .hand-scroll-wrapper:after{background:linear-gradient(to left,#2b2f2d,transparent)}#game-screen .hand-heading{color:#d8ddd8;letter-spacing:.08em}#game-screen .action-btn-label{color:#c4cbc5}#game-screen .action-btn-circle.btn-end-turn{border-color:#fffef9}#game-screen .deck-card-visual.draw-pile{border-color:#e3262f;box-shadow:3px 3px #000}#game-screen .deck-card-visual.discard-pile{box-shadow:3px 3px #000}#game-screen :is(.glass-panel,.opponent-panel,.last-action:not(.tk-loss,.tk-gain,.tk-jsn)){box-shadow:4px 4px #000}#game-screen #player-hand .card,.card-animating,body>.card{outline:2px solid rgba(255,255,255,.28);outline-offset:0}.floating-text{text-shadow:-2px -2px 0 #fffef9,2px -2px 0 #fffef9,-2px 2px 0 #fffef9,2px 2px 0 #fffef9}#game-screen .opponent-panel .avatar-opponent,#game-screen #player-avatar{box-shadow:0 0 0 3px var(--pc, transparent),2px 2px 0 3px #1a1a1a}.set-swatches{display:inline-flex;gap:2px;margin-left:4px;vertical-align:middle}.set-swatch{display:inline-block;width:9px;height:9px;border-radius:2px;border:1.5px solid #1a1a1a;background:var(--c);box-sizing:border-box}#game-screen .glass-panel{height:auto;min-height:100%;padding:8px;box-sizing:border-box}@media(min-width:641px){#game-screen .glass-panel{padding:14px}}#game-screen .u-flex-1.u-overflow-y-auto{padding:0 5px 5px 0}#game-screen .action-buttons-column{justify-content:safe center;min-height:0;overflow-y:auto;scrollbar-width:none}#game-screen .action-buttons-column::-webkit-scrollbar{display:none}@media(max-height:740px){#game-screen .action-buttons-column{gap:4px}#game-screen .action-btn-circle{width:40px;height:40px}}.property-stack-group.is-drop-target{cursor:pointer;outline:3px dashed #1a1a1a;outline-offset:3px;border-radius:10px;background:#e9c46a40}.property-stack-group.has-building-tag{padding-right:0}.set-building-tag{top:auto;right:3px;bottom:3px}.set-building-shack{left:3px;right:3px;bottom:3px;width:auto;min-width:0;height:14px;padding:0;border:1.5px solid #1a1a1a;border-radius:3px;background:#e9c46a;color:#1a1a1a;font-size:9px;font-weight:900;line-height:11px;box-shadow:none}.opponent-panel .opponent-stats,#game-screen .glass-panel p:has(#player-bank){display:flex;flex-wrap:wrap;align-items:center;gap:3px 5px}.hand-badge svg{width:12px;height:12px;vertical-align:-2px;margin-right:2px}#game-screen #player-hand .card.card-previewing{outline:3px solid #e9c46a;outline-offset:2px;border-color:#1a1a1a;box-shadow:3px 3px #000}#hand-scroll-wrapper{padding:8px 4px 6px}#player-hand{justify-content:safe center}.card-preview-content{gap:14px}.card-preview-card-wrapper .card,.card-preview-card-wrapper .card:hover{width:150px;height:212px;transform:none;animation:cardPop .28s cubic-bezier(.34,1.56,.64,1) both;outline:2px solid rgba(255,255,255,.3)}@media(min-width:641px){.card-preview-card-wrapper .card,.card-preview-card-wrapper .card:hover{width:170px;height:240px;transform:none}.card-preview-content{gap:16px}}@keyframes cardPop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.discard-top .card{outline-offset:0}.game-top-hud{align-items:center}#game-screen .turn-indicator{min-height:40px;box-sizing:border-box;border-radius:12px;box-shadow:3px 3px #000;max-width:min(42vw,200px)}#game-screen .turn-indicator.my-turn{border-color:#fffef9;box-shadow:0 0 0 3px #2e9e4f73,3px 3px #000}.game-top-notices>#action-banner-container,.game-top-notices>#joker-placement-banner{inset:0}.game-top-notices>#action-banner-container>*{width:100%;max-width:none;height:48px;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:700;line-height:1.25;overflow:hidden;box-shadow:3px 3px #000}#game-screen #joker-placement-banner:not(.hidden){display:flex;align-items:center;justify-content:space-between;gap:8px;height:48px;box-sizing:border-box;border-radius:12px;pointer-events:auto}#btn-cancel-joker{min-height:36px;padding:8px 12px;font-size:12px}body:not(.menu-theme) .modal{background:#030504b8;padding:calc(env(safe-area-inset-top,0px) + 12px) 12px calc(env(safe-area-inset-bottom,0px) + 12px);align-items:safe center}body:not(.menu-theme) .waiting-overlay{background:#03050480}body:not(.menu-theme) .modal-content{box-shadow:6px 6px #000}.modal-content{position:relative}#payment-modal .payment-footer>.u-grid-2,#counter-modal .u-grid-2{display:flex;gap:12px}#payment-modal .payment-footer>.u-grid-2>.btn,#counter-modal .u-grid-2>.btn{flex:1 1 0}#color-options>h3{grid-column:1 / -1;margin:0 0 2px;color:var(--text-primary);font-size:16px}#color-options>.btn{margin:0}#color-selection-modal:has(#color-options>h3) [data-i18n="color.rentQuestion"]{display:none}#property-preview-modal .modal-content>button:first-child{top:6px!important;right:6px!important;width:40px;height:40px;color:#1a1a1a!important;display:flex;align-items:center;justify-content:center}#settlement-holders .btn[aria-pressed=true]{background:#1a1a1a;color:#fff}#btn-confirm-settlement,#btn-confirm-yes,#btn-confirm-giveaway{background:#c81e28;color:#fff}.giveaway-label{margin-bottom:6px;font-size:12px;font-weight:800;letter-spacing:.04em;text-align:center;text-transform:uppercase;color:var(--text-primary)}.giveaway-keep{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.giveaway-keep .card{zoom:.6;cursor:pointer}.giveaway-gifts{display:flex;flex-direction:column;gap:8px}.giveaway-row{display:flex;align-items:center;gap:10px;padding:8px;border:2px solid #1a1a1a;border-radius:10px;background:#fffef9}.giveaway-what{display:flex;flex:0 0 auto;gap:3px}.giveaway-what .card{zoom:.42;margin:0;pointer-events:none}.giveaway-to{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px}.giveaway-to .btn{min-height:40px;padding:8px 12px;font-size:13px}.giveaway-to .btn[aria-pressed=true]{background:#1a1a1a;color:#fff}.giveaway-footer{display:flex;gap:12px}.giveaway-footer>.btn{flex:1 1 0}.btn.btn-quiet{background:#ecebe4;color:#1a1a1a}#payment-bank-cards,#payment-property-cards{justify-content:center}button,input,select,textarea{font-family:inherit}.card-menu-btn-label{font-size:10px;color:#4a4a4a}@media(max-width:640px){.action-btn-label,.deck-label{font-size:8.5px}.opponent-panel .opponent-stats{font-size:10px}.set-progress,.set-completion-strip{font-size:9px}}@media(min-width:1024px){#opponents-area{justify-content:center}#game-screen .opponent-panel{flex:0 1 520px}#game-screen>.u-flex.u-flex-1{max-width:1180px;width:100%;margin-inline:auto}}body.is-pwa-standalone:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:#c81e28;z-index:100000;pointer-events:none}.deck-card-visual.draw-pile.deck-shuffle{animation:deckShuffle .7s ease-in-out}@keyframes deckShuffle{0%,to{transform:none}20%{transform:rotate(-8deg) translate(-3px)}40%{transform:rotate(7deg) translate(3px)}60%{transform:rotate(-5deg)}80%{transform:rotate(3deg)}}.discard-choose-actions{display:flex;gap:12px}.discard-choose-actions>.btn{flex:1 1 0}#btn-confirm-discard{background:#c81e28;color:#fff}#btn-confirm-discard:disabled{opacity:.45}#discard-hand .card{cursor:pointer}#game-screen{--panel-bg: #f4ecd8;--panel-border: #0b0b0b}#game-screen :is(.opponent-panel,.glass-panel){position:relative;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(11,16,13,.045) 4px 5px),#f4ecd8;border-color:#0b0b0b}#game-screen :is(.opponent-panel,.glass-panel).is-turn{border-color:#c81e28}#game-screen :is(.opponent-panel,.glass-panel).is-turn:after{content:attr(data-turn-label);position:absolute;top:-10px;left:50%;transform:translate(-50%) rotate(-2deg);padding:1px 9px;background:#c81e28;color:#fff;border:2px solid #1a1a1a;box-shadow:2px 2px #000;font-size:9.5px;font-weight:900;letter-spacing:.1em;line-height:12px;white-space:nowrap;z-index:3;pointer-events:none}.player-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.player-identity{gap:8px;min-width:0}.player-info,.opponent-info{min-width:0;flex:1}.player-stats{font-size:10px;color:var(--text-secondary)}.player-sets-label,.opponent-sets-label{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.player-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:6px}.player-meta>.chip-row:not([hidden]){display:contents}.opponent-panel .opponent-name{font-size:11px;color:var(--text-primary)}.opponent-panel.compact .opponent-stats{font-size:9.5px}.deck-label{opacity:1}#game-screen .u-flex-1.u-overflow-y-auto{padding-top:10px}#preview-color-name{margin-inline:40px}@media(max-width:640px){.actions-label{font-size:9.5px}.deck-label{font-size:9px}.opponent-panel .opponent-name{font-size:10.5px}#game-screen .opponent-panel .opponent-stats{font-size:10px}#game-screen .u-flex.u-flex-1.u-min-h-0.u-my-1{margin-top:0}#game-screen .action-dot{width:22px;height:22px;font-size:10px}#game-screen .actions-dots{gap:6px}#game-screen #player-avatar{width:30px;height:30px;font-size:12px}#game-screen .player-head,#game-screen .player-meta{margin-bottom:4px}}@media(max-width:640px)and (max-height:760px){#game-screen .hand-heading{display:none}}.reaction-timer{width:fit-content;margin:0 auto 8px;padding:2px 10px;border:2px solid #1a1a1a;border-radius:999px;background:#fffef9;color:#1a1a1a;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}.reaction-timer.warning{background:#c81e28;color:#fff}@media(min-width:641px){.set-completion-strip,.set-progress,.deck-label,.action-btn-label{font-size:9.5px}}.play-moment{position:fixed;left:0;top:0;width:85px;height:120px;z-index:2147483000;pointer-events:none;transform-origin:50% 50%;will-change:transform,opacity}.play-moment>.card{width:100%;height:100%;margin:0;transition:none;outline:2px solid rgba(255,255,255,.3);box-shadow:0 0 0 2px #1a1a1a,4px 4px #0000004d}.play-moment .outcome-stamp{position:absolute;left:50%;top:50%;z-index:auto;padding:1px 6px 2px;border:2px solid #1a1a1a;border-radius:4px;background:#c81e28;color:#fff;box-shadow:2px 2px #1a1a1a;font-family:Permanent Marker,Space Grotesk,cursive;line-height:1.1;white-space:nowrap;transform:translate(-50%,-50%) rotate(-10deg);animation:stampOnCard .3s cubic-bezier(.2,.9,.3,1.2) .32s both}.play-moment .stamp-green{background:#2e9e4f}@keyframes stampOnCard{0%{opacity:0;transform:translate(-50%,-50%) rotate(-10deg) scale(2.6)}70%{opacity:1;transform:translate(-50%,-50%) rotate(-10deg) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) rotate(-10deg) scale(1)}}@media(prefers-reduced-motion:reduce){.play-moment .outcome-stamp{animation:none}}@media(max-width:640px)and (max-height:760px){#game-screen:has(.opponent-panel:nth-child(3)) .action-buttons-column>div:has(#btn-leave-game){display:none}}.card-title-line{display:block;white-space:nowrap}body .card.card-original{container-type:inline-size;font-family:Arial,Helvetica,sans-serif;background:#fffef9;color:#1a1a1a;border-color:#1a1a1a}.card.card-original .value-badge,#payment-modal .card.card-original .value-badge{left:4cqw;top:4cqw;padding:2cqw 5cqw!important;font-size:12cqw!important;line-height:1.1;font-weight:800;background:#1a1a1a;color:#fff;border:0;border-radius:4cqw}.card-original .card-brand{position:absolute;bottom:6cqw;left:0;right:0;font-size:5cqw;font-weight:850;letter-spacing:.18em;text-align:center;pointer-events:none}.card.card-original.card-action{padding:0;justify-content:center}.card.card-original.card-action:before{content:none}.card.card-original .action-circle,#payment-modal .card.card-original .action-circle{width:78cqw!important;height:78cqw!important;margin:0;border:2px solid #1a1a1a;border-radius:50%;background:var(--action-color);padding:5cqw;flex-shrink:0}.card.card-original .action-circle-text,#payment-modal .card.card-original .action-circle-text{color:#fff;font-size:11cqw!important;line-height:1.15;letter-spacing:0;font-weight:700;padding:0;overflow-wrap:normal}body .card.card-original.card-money{background:linear-gradient(135deg,var(--money-color),var(--money-color-dark))}.card-original .money-face{margin:auto;display:flex;flex-direction:column;align-items:center}.card.card-original .money-value,#payment-modal .card.card-original .money-value{font-size:61cqw!important;font-weight:400;line-height:1;letter-spacing:-.035em;color:#1a1a1a;text-shadow:none}.card-original .money-unit{margin-top:7cqw;font-size:7cqw;letter-spacing:.16em;font-weight:800}.card.card-original .color-band,#payment-modal .card.card-original .color-band{height:38%!important;min-height:0;border-bottom:2px solid #1a1a1a;flex-shrink:0}body .card.card-original .card-info{background:#fffef9;color:#1a1a1a;padding:7cqw 0 19cqw!important;justify-content:flex-start;gap:5cqw}.card-original .property-group-name{font-size:7cqw;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:center;line-height:1}.card.card-original .rent-table,#payment-modal .card.card-original .rent-table{width:60%;font-size:11cqw!important;line-height:1.1!important;font-weight:600;color:#1a1a1a!important;padding:0!important}.original-rent-row{display:flex;align-items:center;gap:5cqw;margin-bottom:3cqw}.original-rent-row:last-child{margin-bottom:0}.original-rent-row i{flex:1;border-bottom:1px dotted currentColor;opacity:.3}.card.card-original .rent-half,.card.card-original .joker-half{flex:1}.card.card-original .rent-middle-band,.card.card-original .joker-middle-band{background:#fffef9;color:#1a1a1a;padding:5cqw 3cqw!important;font-size:11cqw!important;line-height:1.2;font-weight:850;letter-spacing:.03em;border-block:2px solid #1a1a1a;text-align:center}body .card.card-original.card-rent-all{background:#1a1a1a;color:#fffef9}.card-original .rent-all-text{font-size:17cqw!important}.card-original .rent-all-sub{font-size:8cqw!important;color:#ddd}.card.card-original .wild-circle{width:70cqw!important;height:70cqw!important;border:2px solid #1a1a1a;padding:7cqw}.card.card-original .wild-circle-text{font-size:9cqw!important;line-height:1.15;letter-spacing:.03em}.card.card-original .wild-sub-text{font-size:7cqw!important;color:#555;margin-top:4cqw}.card-original .rainbow-stripe{height:4cqw!important}body.theme-dark .card.card-original{background:#fffef9;border-color:#1a1a1a;color:#1a1a1a}body.theme-dark .card.card-original .card-info{background:#fffef9;color:#1a1a1a}body.theme-dark .card.card-original.card-money{background:linear-gradient(135deg,var(--money-color),var(--money-color-dark))}body.theme-dark .card.card-original.card-rent-all{background:#1a1a1a;color:#fffef9}.card-original .wild-assignment{position:absolute;bottom:8cqw;left:8cqw;right:8cqw;padding:3cqw 2cqw;border:1px solid #1a1a1a;border-radius:2cqw;font-size:7cqw;font-weight:800;line-height:1.15;text-align:center}.card-original.has-wild-assignment .card-brand{display:none}.card.card-original.card-stack-mini .color-band,.card.card-original.card-stack-mini .rent-middle-band,.card.card-original.card-stack-mini .joker-middle-band{border-width:1px}
