@tailwind base;@tailwind components;@tailwind utilities;:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--mat-max-w: 1200px;--mat-gap: 16px;--mat-radius-card: 1rem;--mat-radius-panel: .75rem;--mat-card-w-sm: 5rem;--mat-card-h-sm: 7rem;--mat-shadow-e1: 0 1px 2px rgba(0,0,0,.25);--mat-shadow-e2: 0 4px 10px rgba(0,0,0,.25);--mat-shadow-e3: 0 12px 24px rgba(0,0,0,.35)}.mat-viewport{max-width:var(--mat-max-w);margin-inline:auto;padding:16px}.mat-layer{position:relative}.mat-hand-overlay{position:fixed;left:50%;transform:translate(-50%);bottom:16px;z-index:60;display:flex;justify-content:center;pointer-events:none;width:auto}.mat-hand-row{pointer-events:auto;display:flex;gap:10px;padding:8px 12px;border-radius:var(--mat-radius-panel);background:#111317bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:var(--mat-shadow-e2)}.mat-hand-side{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin-right:6px}.mat-hand-cards{display:flex;gap:8px;align-items:flex-end}.zone{border:1px solid rgba(226,230,236,.18);border-radius:var(--mat-radius-panel);background:#ffffff05}.center-pile{width:14rem;height:10rem;position:relative}.card-sm{width:var(--mat-card-w-sm);height:var(--mat-card-h-sm);border-radius:var(--mat-radius-card);box-shadow:var(--mat-shadow-e1)}.falling-bricks-wrapper{position:absolute;top:0;left:0;width:100vw;height:100vh;overflow:hidden;pointer-events:none;z-index:1}.brick{position:absolute;top:0;width:20px;height:20px;border-radius:4px;opacity:.8;outline:solid 1px #0000;animation-name:fall;animation-timing-function:ease-in;animation-fill-mode:forwards}@keyframes fall{0%{transform:translateY(-40px);opacity:1}to{transform:translateY(110vh);opacity:.6}}.button-container{position:relative;display:inline-block}.primary-button{padding:1rem 2rem;font-size:1.5rem;font-weight:700;color:#000;background:#bfdbfe;border:1px solid #93c5fd;border-radius:999px;cursor:pointer;box-shadow:0 3px 10px #0f172a2e;transition:all .3s ease-in-out;position:relative;overflow:hidden}.primary-button:hover{transform:translateY(-1px);background:#bfdbfe;box-shadow:0 5px 14px #0f172a38}.brick-piece{position:absolute;width:12px;height:12px;background:#f80;border-radius:2px;animation:burst .6s ease-out forwards;opacity:.9;z-index:0}@keyframes burst{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--x),var(--y)) scale(.5);opacity:0}}.piece-0{--x: -40px;--y: -60px}.piece-1{--x: 30px;--y: -80px}.piece-2{--x: -25px;--y: -50px}.piece-3{--x: 50px;--y: -20px}.piece-4{--x: -45px;--y: 30px}.piece-5{--x: 60px;--y: 40px}.piece-6{--x: 0px;--y: -90px}.piece-7{--x: -60px;--y: 10px}.piece-8{--x: 35px;--y: -40px}.piece-9{--x: -20px;--y: 60px}.start-screen{height:100vh;width:100vw;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#fdf6e3;position:relative;overflow:hidden}.falling-bricks-wrapper{position:absolute;top:0;width:100%;height:100vh;pointer-events:none;overflow:hidden;z-index:1}.div{z-index:2;display:flex;flex-direction:column;align-items:center}.blockopoly-logo{width:300px;height:auto;margin-bottom:20px}.learn-button{margin-top:12px;padding:.7rem 1.8rem;font-size:.95rem;font-weight:600;color:#000;background:#e0f2fe;border-radius:999px;border:1px solid #93c5fd;cursor:pointer;box-shadow:0 3px 10px #0000002e;min-width:210px;white-space:nowrap;text-align:center;display:inline-flex;align-items:center;justify-content:center;transition:background-color .16s ease,transform .12s ease,box-shadow .16s ease}.learn-button:hover{background:#bfdbfe;transform:translateY(-1px);box-shadow:0 5px 14px #00000040}.learn-button:active{transform:translateY(0);box-shadow:0 2px 8px #0003}.primary-button{padding:1rem 2rem;font-size:1.5rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#f80,#ff2e63);border:none;border-radius:12px;cursor:pointer;box-shadow:0 4px 14px #0000004d;transition:all .3s ease-in-out;position:relative;overflow:hidden}.primary-button:before{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:#fff3;transform:skew(-20deg);transition:.75s}.primary-button:hover:before{left:100%}.primary-button:hover{transform:scale(1.05);box-shadow:0 6px 20px #f809}.primary-button:active{animation:pulse .3s ease}.splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#f80,#ff2e63);color:#fff;font-size:1rem;font-weight:700;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.25),0 0 32px #fff8,2px 2px 0 #ff2e63;letter-spacing:1px;animation:splash-pop 1.2s cubic-bezier(.68,-.55,.27,1.55) both}@keyframes splash-pop{0%{opacity:0;transform:scale(.8) rotate(-5deg);filter:blur(8px)}60%{opacity:1;transform:scale(1.05) rotate(2deg);filter:blur(0)}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}.splash-text{animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:.5;transform:scale(.98)}50%{opacity:1;transform:scale(1)}to{opacity:.5;transform:scale(.98)}}@keyframes pulse{0%{transform:scale(1.05);box-shadow:0 0 #fffc}50%{transform:scale(.95);box-shadow:0 0 20px #ffffff80}to{transform:scale(1);box-shadow:0 0 #fff0}}html,body{margin:0;padding:0;height:100%;width:100%;font-family:Arial Rounded MT Bold,sans-serif;background:linear-gradient(to bottom right,#fef6e4,#e0e0e0)}.main-menu{display:flex;align-items:center;justify-content:center;height:100vh;width:100vw}.form-container{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;background-color:#fff;padding:2rem;color:#696969;border-radius:24px;box-shadow:0 4px 16px #00000026;min-width:400px;gap:1rem}.name-input,.roompin-input{width:280px;padding:12px;border-radius:12px;border:1px solid #ccc;font-size:1rem;text-align:center}.button-row{display:flex;gap:1rem;margin-top:1rem}.primary-button,.secondary-button{position:relative;width:200px;padding:.75rem 1.5rem;border-radius:999px;font-size:1rem;cursor:pointer;border:1px solid transparent;box-shadow:0 3px 10px #0f172a1f;transition:background-color .14s ease,box-shadow .14s ease,transform 90ms ease}.primary-button{background-color:#fef3c7;border-color:#fbbf24}.primary-button:hover{background-color:#d1401b;box-shadow:0 5px 14px #0f172a29;transform:translateY(-1px)}.secondary-button{background-color:#dcfce7;border-color:#86efac;color:#166534}.secondary-button:hover{background-color:#bbf7d0;box-shadow:0 5px 14px #0f172a29;transform:translateY(-1px)}.error-message{color:red;font-size:.9rem}button:disabled{opacity:.6;cursor:not-allowed}.falling-bricks-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.play-screen{--topbar-h: clamp(52px, 8vh, 72px);position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:var(--topbar-h) 1fr;width:100vw;height:100vh;overflow:hidden;background:#fff7e4}.play-area{position:relative;overflow:hidden;height:100%}.sound-controls{position:fixed;left:14px;bottom:14px;z-index:20;display:inline-flex;align-items:center;gap:6px}.sound-toggle-button{width:32px;height:32px;padding:0;border-radius:999px;border:1px solid rgba(15,23,42,.6);background:#0f172ae6;color:#f9fafb;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 8px 20px #00000059;display:inline-flex;align-items:center;justify-content:center}.sound-toggle-button:hover{background:#0f172a}.sound-icon{display:inline-flex;align-items:center;justify-content:center}.sound-volume-slider{padding:6px 12px;accent-color:#f97316;width:110px;opacity:0;pointer-events:none;transform:translate(4px);transition:opacity .16s ease,transform .16s ease}.sound-controls.expanded .sound-volume-slider{opacity:1;pointer-events:auto;transform:translate(0)}.play-topbar{position:relative;z-index:10;display:flex;flex-wrap:wrap;align-items:center;align-content:center;row-gap:4px;gap:clamp(8px,1.6vw,16px);padding:6px 12px;height:var(--topbar-h);background:#00000073;border-bottom:1px solid rgba(255,255,255,.12);font-size:clamp(12px,1.4vw,14px);line-height:1.2;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.position-button{padding:4px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#2563ebd9;color:#fff;font-weight:600;cursor:pointer;transition:background-color .16s ease,opacity .16s ease}.position-button:disabled{opacity:.55;cursor:not-allowed}.hand-overlay{position:absolute;left:50%;bottom:18px;transform:translate(-50%);display:flex;gap:10px;padding:8px 12px;border-radius:16px;background:#00000059;box-shadow:0 10px 30px #00000059;z-index:8}.hand-card{width:112px;height:160px;border-radius:10px;background:#20242a;display:grid;place-items:center;transform:translateY(40px) scale(.92);opacity:0;transition:transform .28s ease,opacity .28s ease,box-shadow .2s ease;box-shadow:0 4px 10px #00000059;cursor:pointer;position:relative;z-index:10}.hand-overlay .hand-card,.mat-hand-overlay .hand-card{transform:translateY(0) scale(1);opacity:1}.mat-hand-row .hand-card{width:96px;height:136px;transform:translateY(0) scale(1)!important;opacity:1!important}.hand-card img{max-width:100%;max-height:100%;border-radius:8px;-webkit-user-select:none;user-select:none;pointer-events:none}.hand-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 22px #00000073}.hand-card.draggable{cursor:grab}.hand-card.draggable:active{cursor:grabbing}.hand-card.dragging{opacity:.5;transform:rotate(5deg) scale(1.1);z-index:1000}.ws-dot{width:10px;height:10px;border-radius:999px;display:inline-block;margin-left:8px}.ws-dot.on{background:#29c263}.ws-dot.off{background:#c22929}.play-actions{display:none}.endturn-btn{padding:8px 12px;border-radius:12px;border:none;background:#4a90e2;color:#fff;font-weight:500;box-shadow:0 2px 8px #00000026;cursor:pointer;transition:background-color .2s ease}.endturn-btn:hover:not(:disabled){background:#357abd}.endturn-btn:disabled{opacity:.5;cursor:not-allowed;background:#666}.card-menu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000e6;color:#fff;padding:20px;border-radius:12px;z-index:1000;min-width:300px;box-shadow:0 10px 30px #00000080}.card-menu-row{display:flex;gap:10px;margin-bottom:10px;align-items:center}.card-menu-header{justify-content:space-between}.card-inspect-icon{border:none;background:transparent;color:#e5e7eb;cursor:pointer;padding:4px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.card-inspect-icon:hover{background:#94a3b859}.card-menu-row button{padding:8px 16px;border-radius:8px;border:none;background:#4a90e2;color:#fff;cursor:pointer;transition:background-color .2s ease}.card-menu-row button:hover:not(:disabled){background:#357abd}.card-menu-row button:disabled{opacity:.5;cursor:not-allowed;background:#666}.discard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000a6;z-index:1200}.discard-modal{width:min(960px,92vw);max-height:82vh;padding:16px;border-radius:16px;background:#101216f7;border:1px solid rgba(255,255,255,.12);color:#f8fafc;box-shadow:0 18px 40px #0000008c;overflow:hidden}.discard-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.discard-title{font-size:18px;font-weight:600}.discard-subtitle{font-size:13px;color:#cbd5e1}.discard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:12px;padding:6px;max-height:52vh;overflow:auto}.discard-card{border:2px solid transparent;border-radius:12px;background:transparent;padding:0;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.discard-card img{width:100%;height:auto;display:block;border-radius:10px}.discard-card:hover:not(:disabled){transform:translateY(-4px)}.discard-card.selected{border-color:#f59e0b;box-shadow:0 10px 18px #f59e0b59}.discard-card:disabled{opacity:.45;cursor:not-allowed}.discard-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:14px}.discard-primary,.discard-secondary{padding:8px 14px;border-radius:10px;border:none;font-weight:600;cursor:pointer;transition:transform .16s ease,background-color .16s ease,opacity .16s ease}.discard-primary{background:#22c55e;color:#0b1c12}.discard-secondary{background:#2563eb;color:#f8fafc}.discard-primary:disabled,.discard-secondary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 720px){.discard-header{flex-direction:column;align-items:flex-start}.discard-grid{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));max-height:46vh}}.position-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a0c10b3;z-index:1250}.position-modal{width:min(1100px,94vw);max-height:86vh;padding:18px;border-radius:16px;background:#12141afa;border:1px solid rgba(255,255,255,.1);color:#f8fafc;box-shadow:0 18px 40px #0009;overflow:hidden}.position-header{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.position-title{font-size:18px;font-weight:600}.position-subtitle{font-size:13px;color:#cbd5e1}.position-note{font-size:12px;color:#94a3b8}.position-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;max-height:60vh;overflow:auto;padding-right:4px}.position-section{display:flex;flex-direction:column;gap:10px}.position-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#cbd5e1}.position-set{padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff05}.position-set-title{font-size:12px;font-weight:600;color:#e2e8f0;margin-bottom:8px}.position-set-row{display:flex;flex-wrap:wrap;gap:10px}.position-card{width:88px;padding:0;background:transparent;border-radius:10px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.position-card img{width:100%;height:auto;display:block;border-radius:8px}.position-card:hover{transform:translateY(-4px)}.position-card.selected{border-color:#38bdf8;box-shadow:0 10px 18px #38bdf84d}.position-selected{font-size:13px;color:#e2e8f0}.position-targets{display:flex;flex-wrap:wrap;gap:10px}.position-target{padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#1e293bb3;color:#f8fafc;font-weight:600;cursor:pointer;transition:background-color .15s ease,transform .15s ease,border-color .15s ease}.position-target:hover{transform:translateY(-2px)}.position-target.selected{border-color:#22c55e;background:#22c55e33}.position-empty{font-size:13px;color:#94a3b8}.position-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.position-primary,.position-secondary{padding:8px 14px;border-radius:10px;border:none;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.position-primary{background:#22c55e;color:#0b1c12}.position-secondary{background:#334155;color:#f8fafc}.position-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 860px){.position-body{grid-template-columns:1fr;max-height:62vh}}.rent-notice{position:absolute;top:12px;left:50%;transform:translate(-50%);padding:10px 16px;border-radius:999px;background:#0f172aeb;border:1px solid rgba(255,255,255,.15);color:#f8fafc;font-weight:600;letter-spacing:.02em;z-index:20;box-shadow:0 14px 30px #00000073;animation:rent-pop .24s ease}.toast-stack{position:fixed;right:16px;bottom:18px;display:flex;flex-direction:column;gap:10px;z-index:1600;max-width:min(360px,90vw)}.toast{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;background:#0f172af2;color:#f8fafc;border:1px solid rgba(148,163,184,.25);box-shadow:0 10px 24px #00000059;animation:toast-slide .22s ease}.toast.error{border-color:#f8717180}.toast-icon{width:20px;height:20px;border-radius:50%;background:#f8717133;color:#fecaca;display:inline-flex;align-items:center;justify-content:center;font-weight:700;line-height:1;flex:0 0 20px}.toast.info .toast-icon{background:#38bdf833;color:#bae6fd}.toast-message{font-size:.85rem;line-height:1.3}.inspect-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f172ab3;z-index:1700}.inspect-modal{background:#f9fafb;border-radius:18px;padding:16px;max-width:min(340px,90vw);box-shadow:0 20px 45px #0f172a8c}.inspect-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.inspect-title{font-weight:600;font-size:.95rem}.inspect-close{padding:4px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.9);background:#f97316;color:#0f172a;font-weight:600;font-size:.8rem;cursor:pointer;box-shadow:0 0 0 2px #f8fafce6;transition:background .12s ease,transform .12s ease,box-shadow .12s ease,color .12s ease}.inspect-close:hover{background:#fb923c;box-shadow:0 0 0 3px #f8fafc;transform:translateY(-1px)}.inspect-close:focus-visible{outline:2px solid #f97316;outline-offset:2px}.inspect-body{display:flex;align-items:center;justify-content:center}.inspect-image{max-width:100%;height:auto;border-radius:12px}@keyframes toast-slide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes rent-pop{0%{opacity:0;transform:translate(-50%,-10px) scale(.98)}to{opacity:1;transform:translate(-50%) scale(1)}}.rent-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a0c10b3;z-index:1260}.rent-modal{width:min(900px,94vw);max-height:84vh;padding:18px;border-radius:16px;background:#101216fa;border:1px solid rgba(255,255,255,.12);color:#f8fafc;box-shadow:0 20px 45px #0009;overflow:hidden}.rent-header{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px;align-items:center}.rent-title{font-size:18px;font-weight:600}.rent-subtitle{font-size:13px;color:#cbd5e1}.rent-card-preview{width:86px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#ffffff0a}.rent-card-preview img{width:100%;display:block}.rent-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;max-height:52vh;overflow:auto;padding-right:4px}.rent-section{display:flex;flex-direction:column;gap:10px}.rent-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#cbd5e1}.rent-options{display:flex;flex-wrap:wrap;gap:10px}.rent-option{padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#1e293bb3;color:#f8fafc;font-weight:600;cursor:pointer;transition:transform .15s ease,background-color .15s ease,border-color .15s ease}.rent-option:hover:not(:disabled){transform:translateY(-2px)}.rent-option.selected{border-color:#38bdf8;background:#38bdf833}.rent-option:disabled{opacity:.5;cursor:not-allowed}.rent-double-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rent-double-tag{padding:4px 10px;border-radius:999px;border:1px solid rgba(251,191,36,.45);background:#fbbf242e;color:#fde68a;font-size:12px;font-weight:600;letter-spacing:.02em}.rent-double-prompt{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:#e2e8f0}.rent-empty,.rent-auto{font-size:13px;color:#94a3b8}.rent-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.rent-primary,.rent-secondary{padding:8px 14px;border-radius:10px;border:none;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.rent-primary{background:#22c55e;color:#0b1c12}.rent-secondary{background:#334155;color:#f8fafc}.rent-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 820px){.rent-body{grid-template-columns:1fr;max-height:60vh}}.charge-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#080a0ec7;z-index:1270}.charge-modal{width:min(980px,95vw);max-height:86vh;padding:18px;border-radius:16px;background:#0f1218fa;border:1px solid rgba(255,255,255,.12);color:#f8fafc;box-shadow:0 22px 50px #000000a6;overflow:hidden}.charge-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.charge-title{font-size:18px;font-weight:600}.charge-subtitle{font-size:13px;color:#cbd5e1}.charge-jsn{padding:8px 12px;border-radius:10px;border:1px solid rgba(248,113,113,.5);background:#f8717133;color:#fee2e2;font-weight:600;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.charge-jsn:disabled{opacity:.45;cursor:not-allowed;transform:none}.jsn-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#080a0eb8;z-index:1265}.jsn-modal{width:min(520px,92vw);padding:16px;border-radius:14px;background:#0f1218fa;border:1px solid rgba(255,255,255,.12);color:#f8fafc;box-shadow:0 18px 40px #0000008c}.jsn-header{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.jsn-title{font-size:17px;font-weight:600}.jsn-subtitle{font-size:13px;color:#cbd5e1}.jsn-actions{display:flex;justify-content:flex-end;gap:10px}.jsn-primary,.jsn-secondary{padding:8px 14px;border-radius:10px;border:none;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.jsn-primary{background:#f8717133;color:#fee2e2;border:1px solid rgba(248,113,113,.5)}.jsn-secondary{background:#334155;color:#f8fafc}.jsn-primary:disabled{opacity:.45;cursor:not-allowed}.charge-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;max-height:52vh;overflow:auto;padding-right:4px}.charge-section{display:flex;flex-direction:column;gap:10px}.charge-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#cbd5e1}.modal-minimize{padding:6px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.6);background:transparent;color:#e2e8f0;font-size:11px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.modal-minimize:hover{background:#94a3b829}.modal-minimized-banner{position:fixed;bottom:16px;right:16px;z-index:1300;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid rgba(148,163,184,.7);background:#0f172af7;color:#e2e8f0;font-size:13px;font-weight:500;cursor:pointer;box-shadow:0 14px 32px #0009}.modal-minimized-dot{width:8px;height:8px;border-radius:999px;background:#22c55e}.modal-minimized-label{white-space:nowrap}.charge-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:10px}.charge-card{border:2px solid transparent;border-radius:12px;background:transparent;padding:0;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;position:relative}.charge-card img{width:100%;height:auto;display:block;border-radius:10px}.charge-card:hover:not(:disabled){transform:translateY(-4px)}.charge-card.selected{border-color:#22c55e;box-shadow:0 10px 18px #22c55e59}.charge-card:disabled{opacity:.5;cursor:not-allowed}.charge-value{position:absolute;right:6px;bottom:6px;font-size:11px;padding:2px 6px;border-radius:999px;background:#0f172ad9;color:#f8fafc;border:1px solid rgba(255,255,255,.15)}.charge-empty{font-size:13px;color:#94a3b8}.charge-summary{display:flex;justify-content:space-between;margin-top:12px;font-size:14px;font-weight:600;color:#e2e8f0}.charge-note{margin-top:6px;font-size:12px;color:#94a3b8}.charge-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.charge-primary{padding:8px 14px;border-radius:10px;border:none;font-weight:600;cursor:pointer;background:#22c55e;color:#0b1c12;transition:opacity .15s ease}.charge-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 860px){.charge-body{grid-template-columns:1fr;max-height:60vh}}:root{--brick-red: #ff7f50;--royal-purple: #7a6cfc;--charcoal: #343434;--bg-1: #f6f5f1;--bg-2: #e8e9ec}html,body{margin:0;height:100%;font-family:Inter,system-ui,sans-serif;background:radial-gradient(circle at 25% 25%,var(--bg-1) 0%,var(--bg-2) 100%)}.lobby-wrapper{position:relative;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.falling-bricks-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.lobby{position:relative;z-index:1;background:#ffffffbf;-webkit-backdrop-filter:blur(6px) saturate(130%);backdrop-filter:blur(6px) saturate(130%);border:2px solid rgba(255,255,255,.55);border-radius:32px;box-shadow:0 20px 40px #00000026;width:clamp(340px,38vw,560px);padding:2.5rem 3rem;text-align:center;color:var(--charcoal)}.lobby h2{margin:0 0 .4em;font-size:clamp(1.3rem,2.6vw,2rem);text-transform:capitalize;letter-spacing:.03em}.lobby p{margin:0 0 1.3rem;font-weight:600;opacity:.8;letter-spacing:.04em;font-size:1.05rem}.lobby h3{margin:0 0 1.2rem;font-size:1.05rem;font-weight:700;opacity:.8}.player-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.player-slot{background:#fff;border:1px solid #ddd;border-radius:14px;padding:.65rem 1rem;min-height:52px;font-weight:600;display:flex;align-items:center;justify-content:center}.player-slot.empty{visibility:hidden}.host-label{font-size:.85em;font-weight:500;opacity:.7;margin-left:.3em}.button-row{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.leave-button,.start-button{flex:1 1 0;max-width:200px;padding:.9rem 1rem;border:none;border-radius:16px;font:700 1rem/1 Inter,sans-serif;color:#fff;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.leave-button{background:var(--brick-red)}.start-button{background:var(--royal-purple)}.leave-button:hover,.start-button:hover{transform:translateY(-3px)}.leave-button:disabled,.start-button:disabled{opacity:.55;cursor:not-allowed;transform:none}@media (max-width: 768px){.lobby{padding:1.75rem 1.5rem;border-radius:24px}.player-list{grid-template-columns:1fr}}.winner-screen{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-color:#fdf6e3;position:relative;overflow:hidden}.winner-confetti-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:2}.confetti-piece{position:absolute;top:-10%;width:8px;height:16px;background:#f80;opacity:.9;border-radius:2px;animation:confetti-fall 3s linear infinite}.confetti-piece:nth-child(3n){background:#ff2e63}.confetti-piece:nth-child(5n){background:#2ed9ff}.confetti-piece:nth-child(7n){background:#7bff5b}.confetti-piece:nth-child(odd){transform:rotate(15deg)}.confetti-piece:nth-child(2n){transform:rotate(-15deg)}.confetti-piece:nth-child(1){left:5%;animation-delay:0s}.confetti-piece:nth-child(2){left:10%;animation-delay:.2s}.confetti-piece:nth-child(3){left:15%;animation-delay:.4s}.confetti-piece:nth-child(4){left:20%;animation-delay:.6s}.confetti-piece:nth-child(5){left:25%;animation-delay:.8s}.confetti-piece:nth-child(6){left:30%;animation-delay:1s}.confetti-piece:nth-child(7){left:35%;animation-delay:1.2s}.confetti-piece:nth-child(8){left:40%;animation-delay:1.4s}.confetti-piece:nth-child(9){left:45%;animation-delay:1.6s}.confetti-piece:nth-child(10){left:50%;animation-delay:1.8s}.confetti-piece:nth-child(11){left:55%;animation-delay:2s}.confetti-piece:nth-child(12){left:60%;animation-delay:2.2s}.confetti-piece:nth-child(13){left:65%;animation-delay:2.4s}.confetti-piece:nth-child(14){left:70%;animation-delay:2.6s}.confetti-piece:nth-child(15){left:75%;animation-delay:2.8s}.confetti-piece:nth-child(16){left:80%;animation-delay:3s}.confetti-piece:nth-child(17){left:85%;animation-delay:3.2s}.confetti-piece:nth-child(18){left:90%;animation-delay:3.4s}.confetti-piece:nth-child(19){left:95%;animation-delay:3.6s}@keyframes confetti-fall{0%{transform:translateY(-10%) rotate(0)}to{transform:translateY(120vh) rotate(360deg)}}.winner-card{position:relative;z-index:3;background:#fffffff2;border-radius:24px;padding:2.5rem 3rem;box-shadow:0 10px 30px #00000040;text-align:center;max-width:540px;width:90%}.winner-logo{width:220px;height:auto;margin-bottom:1rem}.winner-icon{width:80px;height:80px;margin:0 auto 1rem;border-radius:50%;background:linear-gradient(135deg,#f80,#ff2e63);display:flex;align-items:center;justify-content:center;color:#fff;font-size:2.5rem;box-shadow:0 0 24px #ff8800b3}.winner-title{font-size:2.25rem;margin:0 0 .5rem;color:#333}.winner-name{font-size:1.75rem;font-weight:700;margin:0 0 .75rem;color:#ff2e63}.winner-colors{font-size:1.1rem;margin-bottom:1.5rem;color:#444}.winner-buttons{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:.75rem}.winner-button{padding:.75rem 1.5rem;border-radius:999px;border:none;cursor:pointer;font-weight:600;font-size:.95rem;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.winner-button.primary{background:linear-gradient(135deg,#f80,#ff2e63);color:#fff;box-shadow:0 4px 16px #ff880080}.winner-button.secondary{background:#fff;color:#333;border:1px solid rgba(0,0,0,.12)}.winner-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 18px #0003}.winner-button:active:not(:disabled){transform:translateY(1px);box-shadow:0 3px 12px #0003}.winner-button:disabled{opacity:.6;cursor:default}.winner-hint{font-size:.9rem;color:#555}.howto-root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#fef9e7;color:#0f172a}.howto-header{padding:12px 20px;border-bottom:1px solid rgba(209,213,219,.7);background:linear-gradient(to right,#fef9e7,#ffe9ec);display:flex;align-items:center;gap:12px}.howto-header-title{font-size:1.25rem;font-weight:700}.howto-back-button{padding:.35rem .9rem;border-radius:999px;border:1px solid #e5e7eb;background:#f9fafb;font-size:.85rem;cursor:pointer;color:#374151;box-shadow:0 2px 6px #0f172a14;transition:background-color .12s ease,transform 90ms ease,box-shadow .12s ease}.howto-back-button:hover{background:#e5e7eb;transform:translateY(-1px);box-shadow:0 3px 8px #0f172a1f}.howto-panel{flex:1;display:grid;grid-template-columns:220px minmax(0,1fr);padding:12px 18px 18px;gap:12px;min-height:0}.howto-sidebar{display:flex;flex-direction:column;gap:10px;border-right:1px solid rgba(209,213,219,.8)}.howto-title{font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}.howto-nav{display:flex;flex-direction:column;gap:0}.howto-nav-item{text-align:left;border-radius:0;border:none;padding:8px 12px;background:transparent;color:#374151;cursor:pointer;transition:background-color .14s ease,color .14s ease,transform .1s ease}.howto-nav-item:hover{background-color:#fbbf241f}.howto-nav-item.active{background-color:#fef3c7;color:#92400e}.howto-nav-title{font-size:.9rem;font-weight:600}.howto-nav-subitems{margin:4px 0 0;padding-left:16px;list-style:disc;font-size:.75rem;color:#6b7280}.howto-nav-item.active .howto-nav-subitems{color:#92400e}.howto-content{padding:8px 8px 16px 0;overflow-x:hidden}.howto-content h2{font-size:1.4rem;margin-bottom:8px}.howto-content h3{font-size:1rem;margin-top:16px;margin-bottom:4px}.howto-content p{font-size:.9rem;line-height:1.5;margin-bottom:4px}.howto-media-placeholder{margin-top:18px;padding:14px;border-radius:16px;background:#fefce8;display:flex;flex-direction:column;align-items:center;text-align:center}.howto-media-label{font-size:.8rem;color:#4b5563}.howto-image{display:block;max-width:min(600px,100%);max-height:80vh;height:auto;object-fit:contain;border-radius:12px;margin:0 auto 8px}.example-board{max-width:1000px;margin:12px auto;border-radius:16px}@media (max-width: 900px){.howto-panel{grid-template-columns:minmax(0,1fr)}}@media (max-width: 900px){.howto-panel{grid-template-columns:minmax(0,1fr)}.howto-sidebar{padding-bottom:10px}}
