:root{--bg-dark:#0f172a;--panel-bg:#1e293bb3;--primary:#ec4899;--secondary:#8b5cf6;--text-light:#f8fafc;--glass-border:#ffffff1a;--uno-red:#ef4444;--uno-blue:#3b82f6;--uno-green:#10b981;--uno-yellow:#eab308;--uno-wild:#1f2937}body{color:var(--text-light);background:radial-gradient(circle,#1e1b4b 0%,#000 100%);min-height:100vh;margin:0;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 8px 32px #0000004d}.pill-btn{white-space:nowrap}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:12px 24px;font-size:1.1rem;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #ec489966}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ec489999}.btn-secondary{color:#fff;border:1px solid var(--glass-border);cursor:pointer;white-space:nowrap;background:#ffffff1a;border-radius:8px;padding:12px 24px;font-size:1.1rem;font-weight:700;transition:background .2s}.btn-secondary:hover{background:#fff3}.btn-join{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;padding:12px 24px;font-size:1.1rem;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #10b98166}.btn-join:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98199}.input-field{border:1px solid var(--glass-border);color:#fff;box-sizing:border-box;background:#0000004d;border-radius:8px;outline:none;width:100%;padding:12px;font-size:1rem;transition:border-color .2s}.input-field:focus{border-color:var(--primary)}.avatar-selector{justify-content:center;gap:10px;margin:15px 0;display:flex}.avatar-option{cursor:pointer;background:#ffffff1a;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;transition:transform .2s;display:flex}.avatar-option.selected{border-color:var(--primary);background:#fff3;transform:scale(1.1)}.uno-card{color:#fff;cursor:pointer;background-position:50%;background-size:cover;border:4px solid #fff;border-radius:10px;justify-content:center;align-items:center;width:80px;height:120px;font-size:2rem;font-weight:700;transition:transform .2s,top .2s;display:flex;position:relative;box-shadow:0 4px 10px #00000080}.uno-card:hover{z-index:10;transform:translateY(-15px)scale(1.05)}.card-red{background-color:var(--uno-red)}.card-blue{background-color:var(--uno-blue)}.card-green{background-color:var(--uno-green)}.card-yellow{background-color:var(--uno-yellow)}.card-wild{background:conic-gradient(var(--uno-red) 90deg, var(--uno-blue) 90deg 180deg, var(--uno-green) 180deg 270deg, var(--uno-yellow) 270deg)}.card-sleeve{cursor:default;background-color:#222;background-image:url(/icon.png);border-color:#555}.landing-container{justify-content:center;align-items:center;height:100vh;display:flex}.landing-card{text-align:center;width:400px;max-width:90%;padding:clamp(20px,5vw,40px)}.landing-card h1{background:linear-gradient(90deg,#ec4899,#8b5cf6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:3rem}.game-board{flex-direction:column;height:100vh;display:flex;position:relative}.opponents-area{flex:1;justify-content:space-around;padding:20px;display:flex}.opponent-card{background:var(--panel-bg);border:1px solid var(--glass-border);border-radius:12px;flex-direction:column;align-items:center;padding:10px 20px;display:flex}.opponent-avatar{font-size:2.5rem}.opponent-info{text-align:center;margin-top:5px}.center-area{flex:2;justify-content:center;align-items:center;gap:50px;display:flex}.draw-pile,.discard-pile{position:relative}.draw-pile .uno-card{cursor:pointer}.draw-pile .uno-card:hover{transform:scale(1.05)}.player-area{flex:1;justify-content:center;align-items:flex-end;width:100%;padding-bottom:20px;display:flex;overflow-x:auto}.hand-container{flex-wrap:nowrap;justify-content:center;padding:20px 40px;display:flex}.hand-container .uno-card{margin-left:-40px;box-shadow:-2px 0 10px #0000004d}.hand-container .uno-card:first-child{margin-left:0}.hand-container .uno-card:hover{margin-right:20px;transform:translateY(-20px);z-index:20!important}.uno-button{color:#fff;cursor:pointer;background:radial-gradient(circle,#ef4444,#991b1b);border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;font-size:1.5rem;font-weight:900;transition:transform .1s,background .3s;display:flex;position:absolute;bottom:150px;right:50px;box-shadow:0 10px 20px #00000080}.uno-button:active{transform:scale(.9)}.color-picker-modal{z-index:100;grid-template-columns:1fr 1fr;gap:10px;padding:20px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.color-btn{cursor:pointer;border:2px solid #fff;border-radius:10px;width:80px;height:80px}.fade-in{animation:.4s ease-out fadeIn}.slide-in{animation:.3s cubic-bezier(.2,.8,.2,1) slideIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.title-gradient{background:linear-gradient(90deg,#ec4899,#8b5cf6,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:3rem;font-weight:900}.subtitle{color:#cbd5e1;margin-bottom:30px;font-size:1.1rem}.action-buttons{flex-direction:column;gap:15px;margin-top:20px;display:flex}.huge-btn{border-radius:12px;padding:18px 30px;font-size:1.3rem}.back-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:1rem;transition:color .2s;position:absolute;top:20px;left:20px}.back-btn:hover{color:#fff}.input-group{text-align:left;margin-bottom:20px}.input-group label{color:#94a3b8;margin-bottom:8px;font-size:.9rem;font-weight:700;display:block}.full-width{width:100%}.uppercase-input{text-transform:uppercase;letter-spacing:2px;text-align:center;font-size:1.2rem;font-weight:700}.avatar-grid{border:1px solid var(--glass-border);background:#0003;border-radius:12px;grid-template-columns:repeat(4,1fr);gap:10px;max-height:150px;padding:10px;display:grid;overflow-y:auto}.avatar-grid::-webkit-scrollbar{width:6px}.avatar-grid::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.waiting-room-card{text-align:center;width:500px;max-width:90%;padding:30px}.waiting-header h2{color:#94a3b8;text-transform:uppercase;letter-spacing:1px;margin:0;font-size:1rem}.room-code-display{color:var(--primary);cursor:pointer;background:#0000004d;border-radius:16px;align-items:center;gap:15px;margin:10px 0;padding:10px 30px;font-size:3.5rem;font-weight:900;transition:transform .2s,background .2s;display:inline-flex}.room-code-display:hover{background:#0006;transform:scale(1.05)}.copy-icon{opacity:.7;font-size:1.5rem}.players-section{text-align:left;margin:30px 0}.players-section h3{border-bottom:1px solid var(--glass-border);margin-top:0;padding-bottom:10px}.players-grid{grid-template-columns:repeat(2,1fr);gap:15px;max-height:300px;display:grid;overflow-y:auto}.player-grid-item{border:1px solid var(--glass-border);background:#ffffff0d;border-radius:12px;align-items:center;gap:15px;padding:12px;display:flex}.player-grid-avatar{background:#0003;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;display:flex}.player-grid-name{font-size:1.1rem;font-weight:700}.host-badge{margin-left:5px;font-size:1.2rem}.pulse-btn{animation:2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #ec489966}70%{box-shadow:0 0 0 10px #ec489900}to{box-shadow:0 0 #ec489900}}.waiting-status{color:#94a3b8;background:#0000004d;border-radius:12px;justify-content:center;align-items:center;gap:15px;padding:15px;display:flex}.spinner{border:3px solid #ffffff1a;border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mobile-game-board{box-sizing:border-box;flex-direction:column;justify-content:space-between;height:100vh;padding:20px 0;display:flex}.top-opponents-area{justify-content:center;gap:20px;padding:20px;display:flex;overflow-x:auto}.opponent-container{flex-direction:column;align-items:center;display:flex}.opponent-card-modern{background:#1e293b;border-radius:16px;flex-direction:column;align-items:center;padding:20px 30px;transition:box-shadow .3s;display:flex}.active-glow{border:1px solid #ec4899cc;box-shadow:0 0 30px #ec489999}.opponent-avatar-modern{font-size:3rem}.opponent-name-modern{color:#fff;margin-top:10px;font-size:1.2rem;font-weight:700}.opponent-cards-modern{color:#ccc;white-space:nowrap;margin-top:5px;font-size:.8rem}.turn-indicator-text{color:#fff;white-space:nowrap;margin-top:20px;font-size:1.5rem;font-weight:900}.glowing-text{text-shadow:0 0 10px #fffc}.my-turn-text{text-align:center;margin:15px 0}.center-play-area{flex:1;justify-content:center;align-items:center;display:flex}.pile-container{justify-content:center;align-items:center;gap:30px;display:flex;position:relative}.draw-pile-modern,.discard-pile-modern{position:relative}.uno-card.modern-card{color:#fff;cursor:pointer;border:4px solid #fff;border-radius:12px;justify-content:center;align-items:center;width:90px;height:135px;font-size:3rem;font-weight:900;transition:transform .2s,margin .2s;display:flex;box-shadow:0 5px 15px #00000080}.deck-card{background-color:#0f172a;background-image:url(/icon.png);background-position:50%;background-repeat:no-repeat;background-size:60%;border-color:#3b82f6}.deck-circle{display:none}.direction-indicator{color:#fff;font-size:2.5rem;position:absolute;right:-50px}.color-indicator{text-align:center;text-transform:capitalize;font-size:1.1rem;font-weight:700;position:absolute;bottom:-50px;left:50%;transform:translate(-50%)}.text-red{color:#ef4444}.text-blue{color:#3b82f6}.text-green{color:#10b981}.text-yellow{color:#eab308}.text-white{color:#fff}.stack-badge{color:#ef4444;z-index:10;white-space:nowrap;background:#fff;border-radius:20px;padding:5px 10px;font-size:1.2rem;font-weight:700;position:absolute;box-shadow:0 4px 10px #0000004d}.draw-badge,.discard-badge{top:-20px;left:50%;transform:translate(-50%)}.bottom-player-area{justify-content:center;width:100%;padding-bottom:20px;display:flex}.hand-container-modern{justify-content:center;width:100%;max-width:100vw;padding:20px 40px;display:flex;overflow-x:auto}.hand-container-modern::-webkit-scrollbar{height:6px}.hand-container-modern::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.hand-container-modern .modern-card{flex-shrink:0;margin-left:-35px;box-shadow:-2px 0 10px #0006}.hand-container-modern .modern-card:first-child{margin-left:0}.hand-container-modern .modern-card:hover:not(.dimmed-card){margin-right:25px;transform:translateY(-20px);z-index:50!important}.dimmed-card{filter:brightness(.3)grayscale(.8);cursor:not-allowed!important}.draw-pile-pulse{box-shadow:0 0 20px var(--primary);animation:1.5s infinite pulse-draw;border-color:var(--primary)!important}@keyframes pulse-draw{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.call-out-uno-container{z-index:100;justify-content:center;margin-top:-10px;margin-bottom:20px;display:flex}.call-out-uno-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#ef4444,#b91c1c);border:4px solid #fff;border-radius:40px;padding:12px 24px;font-size:1.2rem;font-weight:900;animation:1.5s infinite pulse;box-shadow:0 5px 20px #ef4444cc}.my-uno-action-container{z-index:200;position:absolute;bottom:180px;right:20px}.uno-action-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#ef4444,#991b1b);border:4px solid #fff;border-radius:40px;padding:15px 30px;font-size:1.5rem;font-weight:900;box-shadow:0 10px 20px #00000080}.pill-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);white-space:nowrap;background:#0009;border:1px solid #ffffff1a;border-radius:20px;padding:8px 16px;font-size:.9rem;font-weight:700;transition:background .2s}.pill-btn:hover{background:#000c}.color-picker-overlay{z-index:200;background:#000c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.color-picker-modal-modern{border:1px solid var(--glass-border);background:#1e293b;border-radius:20px;padding:30px}.color-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.color-btn{cursor:pointer;border:2px solid #ffffff80;border-radius:12px;width:80px;height:80px;transition:transform .2s}.color-btn:hover{border-color:#fff;transform:scale(1.05)}.red-btn{background-color:var(--uno-red)}.blue-btn{background-color:var(--uno-blue)}.green-btn{background-color:var(--uno-green)}.yellow-btn{background-color:var(--uno-yellow)}.wah-overlay{z-index:10000;pointer-events:none;background:#000000d9;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.wah-text{word-break:break-word;color:#fff;text-transform:uppercase;text-align:center;text-shadow:0 0 50px red,0 0 100px orange;padding:0 20px;font-size:clamp(3rem,15vw,6rem);font-weight:900;line-height:1.1;animation:.5s cubic-bezier(.175,.885,.32,1.275) forwards explode}@keyframes explode{0%{opacity:0;transform:scale(.1)}50%{opacity:1;text-shadow:0 0 100px red,0 0 200px #ff0;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.wah-subtext{color:#ffeb3b;text-shadow:0 0 20px #ffeb3bcc;opacity:0;margin-top:20px;font-size:2rem;animation:.5s ease-out .3s forwards slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}
