*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}@font-face{font-family:Comic Sans MS;src:local(Comic Sans MS),url(https://fonts.cdnfonts.com/css/comic-sans-ms)format("woff2");font-weight:400;font-style:normal}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}html,body{touch-action:manipulation;width:100%;height:100%;overflow:hidden}body{background-color:#ffdbec;font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;position:fixed;inset:0}:root{--spacing-xs:8px;--spacing-sm:16px;--spacing-md:24px;--spacing-lg:32px;--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:16px;--shadow-level-1:0 2px 8px #0000001f;--shadow-level-2:0 4px 16px #00000029;--shadow-level-3:0 8px 32px #0000003d}#game-container{width:100%;height:100%;padding:var(--spacing-md);gap:var(--spacing-sm);background-color:#ffc0dc;grid-template:"opponents opponents opponents"30%"sidebar game-center game-right"35%"player-info player-hand player-controls"35%/200px 1fr 200px;display:grid;position:relative;overflow:hidden}#side-indicators{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);z-index:100;flex-direction:column;grid-area:game-right;display:flex}#opponents-area{height:100%;padding:var(--spacing-sm)var(--spacing-md)0 var(--spacing-md);grid-area:opponents;justify-content:space-evenly;align-items:flex-start;width:100%;max-width:900px;margin:0 auto;display:flex}.opponent-slot{flex-direction:column;justify-content:center;align-items:center;min-width:200px;min-height:200px;display:flex;position:relative}.opponent{flex-direction:column;justify-content:flex-start;align-items:center;gap:0;width:100%;margin:0;padding-bottom:0;display:flex;position:relative}.character-image{width:80px;height:80px;box-shadow:var(--shadow-level-2);background-color:#fff;border:3px solid #0000;border-radius:50%;justify-content:center;align-items:center;margin-bottom:0;font-size:32px;font-weight:700;display:flex;position:relative;overflow:hidden}.opponent.current-player{z-index:10;background-color:#ffd70033;border-radius:20px;padding:10px;animation:1.2s infinite alternate pulse-player;position:relative;transform:scale(1.1);box-shadow:0 0 25px gold,0 0 50px #ffdf0099}.opponent.current-player:before{content:"👇";font-size:30px;animation:.8s infinite alternate bounce-arrow;position:absolute;top:-30px;left:50%;transform:translate(-50%)}@keyframes bounce-arrow{0%{transform:translate(-50%)translateY(0)}to{transform:translate(-50%)translateY(-10px)}}.opponent.current-player .character-image{border-color:gold;animation:1s infinite alternate wiggle;box-shadow:0 0 20px gold}@keyframes wiggle{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes pulse-player{0%{box-shadow:0 0 25px gold,0 0 40px #ffdf0099}to{box-shadow:0 0 35px gold,0 0 55px #ffdf00cc}}.character-img{object-fit:cover;object-position:center;border:5px solid #fff;border-radius:50%;width:100%;height:100%;box-shadow:0 0 10px #0003}.character-initial{color:#fff;text-shadow:0 2px 4px #0000004d;justify-content:center;align-items:center;width:100%;height:100%;font-size:60px;font-weight:700;display:flex}.character-name{text-shadow:0 1px 3px #0000004d;margin-bottom:5px;font-size:26px;font-weight:700}.card-count{background-color:#ffffffb3;border-radius:20px;align-items:center;padding:5px 10px;font-size:20px;display:flex;box-shadow:0 2px 5px #0003}.card-count:before{content:"🃏";margin-right:5px;font-size:22px}.uno-indicator{color:#fff;z-index:20;transform-origin:50%;text-shadow:0 2px 4px #0000004d;background:linear-gradient(135deg,#ff4040,red);border:3px solid #fff;border-radius:20px;padding:10px 15px;font-size:24px;font-weight:700;animation:.6s infinite alternate uno-bounce;position:absolute;top:-20px;right:-20px;box-shadow:0 0 15px #ff0000b3,0 0 30px #ffc80080}@keyframes uno-bounce{0%{transform:scale(1)rotate(-5deg)}to{transform:scale(1.3)rotate(5deg)}}@keyframes bounce{0%{transform:scale(1)}to{transform:scale(1.2)}}.opponent-cards{flex-wrap:nowrap;justify-content:center;align-items:center;width:100%;max-width:300px;min-height:40px;margin:0 auto;display:flex;position:relative;overflow:visible}#game-area{padding:var(--spacing-sm)var(--spacing-md);grid-area:game-center;justify-content:flex-start;align-items:center;width:100%;height:100%;display:flex;position:relative}#deck,#discard-pile{border-radius:var(--border-radius-md);width:112px;height:168px;margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);position:relative}#deck{margin-right:var(--spacing-lg);z-index:10}#discard-pile{align-items:center;min-width:400px;display:flex}#deck{box-shadow:var(--shadow-level-2);border-radius:var(--border-radius-md);cursor:pointer;background-color:#fff;border:5px solid #fff;justify-content:center;align-items:center;transition:all .3s;display:flex;position:relative;overflow:hidden}@keyframes float-tip{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-5px)}}#deck.active-deck{border-color:#ffd70066}#deck.required-draw{border-color:#ff3b3b99}#deck.start-deck{border-color:#ff3b3b99;animation:1.5s infinite pulse-start;box-shadow:0 0 15px 5px #ff3b3b80}@keyframes pulse-start{0%{transform:scale(1);box-shadow:0 0 15px 5px #ff3b3b80}50%{transform:scale(1.05);box-shadow:0 0 25px 8px #ff3b3bb3}to{transform:scale(1);box-shadow:0 0 15px 5px #ff3b3b80}}@keyframes pulse-deck-urgent{0%{box-shadow:0 0 15px #ff3b3b99}50%{box-shadow:0 0 30px #ff3b3bcc}to{box-shadow:0 0 15px #ff3b3b99}}@keyframes pulse-deck-gold{0%{box-shadow:0 10px 20px #0006}50%{box-shadow:0 10px 25px #ffd70099}to{box-shadow:0 10px 20px #0006}}@keyframes pulse-deck{0%{box-shadow:0 8px 15px #0000004d}50%{box-shadow:0 8px 25px #ffd70080}to{box-shadow:0 8px 15px #0000004d}}#deck:active{transform:scale(.95);box-shadow:0 4px 8px #0000004d}.deck-back{background-color:#ff66a5;background-image:repeating-linear-gradient(-45deg,#ff66a5,#ff66a5 15px,#e5407e 15px 30px);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.uno-logo{color:#fff;background-color:red;border:3px solid #fff;border-radius:20px;padding:5px 15px;font-family:Comic Sans MS,cursive,sans-serif;font-size:40px;font-weight:700;transform:rotate(-30deg);box-shadow:0 4px 8px #0000004d}.deck-count{color:#000;background-color:#fff;border-radius:10px;padding:3px 8px;font-size:18px;font-weight:700;position:absolute;bottom:10px;right:10px}#discard-pile{background-color:#0000;border:none;position:relative}.discard-cards-container{min-width:450px;height:210px;padding-bottom:20px;padding-right:50px;position:relative;overflow:visible}.discard-cards-container .card{transition:transform .3s,box-shadow .3s;position:absolute}#color-indicator{width:70px;height:70px;box-shadow:var(--shadow-level-2);background-color:#bdbdbd;border:5px solid #fff;border-radius:50%;position:relative}@keyframes pulse-color{0%{box-shadow:0 0 15px #0003}to{box-shadow:0 0 20px}}#color-indicator.red{color:#ff3b3bb3;background-color:#ff3b3b;animation:1.5s infinite alternate pulse-color}#color-indicator.blue{color:#0066ccb3;background-color:#06c;animation:1.5s infinite alternate pulse-color}#color-indicator.green{color:#3cb043b3;background-color:#3cb043;animation:1.5s infinite alternate pulse-color}#color-indicator.yellow{color:#ffcc00b3;background-color:#fc0;animation:1.5s infinite alternate pulse-color}#julia-display{padding:var(--spacing-md);z-index:100;flex-direction:column;grid-area:sidebar;justify-content:center;align-items:center;display:flex}#player-hand{height:100%;padding:var(--spacing-md)var(--spacing-sm);scrollbar-width:none;-ms-overflow-style:none;border-radius:var(--border-radius-lg);margin:0 var(--spacing-md);box-shadow:var(--shadow-level-2),inset 0 0 15px #ff69b433;background-color:#ffffff4d;border:2px dashed #ff69b44d;grid-area:player-hand;justify-content:center;align-items:center;width:98%;max-width:1200px;min-height:200px;display:flex;position:relative;overflow-x:auto}#player-hand::-webkit-scrollbar{display:none}.player-hand-container{padding-top:30px;position:relative}.card{border-radius:var(--border-radius-md);width:105px;height:158px;box-shadow:var(--shadow-level-1);cursor:pointer;z-index:1;background-color:#fff;border:5px solid #fff;flex-direction:column;justify-content:center;align-items:center;margin:0 -10px 0 0;font-size:28px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;transform:scale(1)}.card:hover{box-shadow:var(--shadow-level-3);z-index:5;transform:translateY(-5px)}.card:active{box-shadow:var(--shadow-level-1);transform:scale(.95)}.card.shake,#deck.shake{animation:.5s cubic-bezier(.36,.07,.19,.97) both shake;border-color:#ff3b3b!important;box-shadow:0 0 12px #f009!important}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.card.red{color:#fff;background:linear-gradient(135deg,#ff5f5f,#ff3b3b,red)}.card.blue{color:#fff;background:linear-gradient(135deg,#6b9aff,#4a7af5,#1a56ff)}.card.green{color:#fff;background:linear-gradient(135deg,#67e85f,#47c83e,#2aa821)}.card.yellow{color:#000;background:linear-gradient(135deg,#fff05f,#ffee3e,gold)}.card-corner{z-index:5;text-shadow:1px 1px 2px #00000080;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;font-weight:700;display:flex;position:absolute}.card[data-value=Skip] .card-emoji,.card[data-value=Reverse] .card-emoji{z-index:3;position:relative}.wild-quadrant{width:50%;height:50%;position:absolute}.wild-quadrant-tl{background-color:#ff3b3b;top:0;left:0}.wild-quadrant-tr{background-color:#4a7af5;top:0;right:0}.wild-quadrant-bl{background-color:#47c83e;bottom:0;left:0}.wild-quadrant-br{background-color:#ffee3e;bottom:0;right:0}.card-center-circle{z-index:2;justify-content:center;align-items:center;display:flex;position:absolute}.playable-card{z-index:5;box-shadow:0 0 20px gold,0 10px 20px #0006;border-color:gold!important}@keyframes glow-playable{0%{box-shadow:0 0 15px gold,0 8px 16px #0006}to{box-shadow:0 0 25px gold,0 8px 16px #0006}}.playable-card{animation:1.5s infinite alternate glow-playable}.card-inner{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute}.card-oval{background-color:#fff;border:4px solid #000;border-radius:50%;justify-content:center;align-items:center;width:80%;height:65%;display:flex;position:relative;transform:rotate(-20deg);box-shadow:inset 0 0 8px #0003}.card-emoji{text-shadow:0 2px 5px #0000004d;filter:drop-shadow(0 3px 3px #0000004d);justify-content:center;align-items:center;font-size:65px;animation:2s infinite alternate emoji-bounce;display:flex;transform:rotate(20deg)}@keyframes emoji-bounce{0%{transform:rotate(20deg)scale(1)}to{transform:rotate(20deg)scale(1.1)}}.wild-draw-4{font-size:70px;animation:.8s infinite alternate bounce}.card[data-value=Skip] .card-emoji{font-size:80px}.card[data-value=Reverse] .card-emoji{font-size:80px;position:absolute;top:30%}.card[data-value=Reverse]:after{content:"👉";font-size:80px;position:absolute;bottom:30%;right:50%;transform:rotate(180deg)translate(50%)}.card[data-value=Draw\ 2] .card-emoji,.card[data-value=Wild] .card-emoji{font-size:80px}.card[data-value="Wild Draw 4"] .card-emoji{font-size:90px}.card.wild,.card[data-value="Wild Draw 4"]{color:#fff;background:#000}.card.wild .card-oval{border-color:#fff;width:90%;height:75%;transform:rotate(0)}.card.wild .card-emoji{transform:rotate(0)}.rainbow-circle{background:linear-gradient(135deg,#ff3b3b 0% 25%,#fc0 25% 50%,#3cb043 50% 75%,#06c 75% 100%);border:1px solid #fff;border-radius:50%;width:20px;height:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-corner{color:#fff;z-index:1;text-align:center;justify-content:center;align-items:center;width:42px;height:42px;font-size:28px;font-weight:700;display:flex;position:absolute}.card.yellow .card-corner{color:#000}.top-left{top:8px;left:8px}.bottom-right{bottom:8px;right:8px;transform:rotate(180deg)}.card[data-value="0"] .card-corner,.card[data-value="1"] .card-corner,.card[data-value="2"] .card-corner,.card[data-value="3"] .card-corner,.card[data-value="4"] .card-corner,.card[data-value="5"] .card-corner,.card[data-value="6"] .card-corner,.card[data-value="7"] .card-corner,.card[data-value="8"] .card-corner,.card[data-value="9"] .card-corner{font-size:36px}#controls{justify-content:center;height:12%;padding:15px 0;display:flex}#controls button{margin:0 var(--spacing-md)}button{color:#fff;border-radius:var(--border-radius-lg);cursor:pointer;box-shadow:var(--shadow-level-2);background-color:#ff66a5;border:none;outline:none;justify-content:center;align-items:center;width:100px;min-width:100px;height:100px;padding:0;font-family:Comic Sans MS,cursive,sans-serif;font-size:0;transition:background-color .2s,transform .1s;display:flex;position:relative}button:before{font-size:50px;display:block}#start-game:before{content:"▶️"}#draw-card:before{content:"🃏"}button:active{transform:translateY(6px);box-shadow:0 0 #3b6e96}button:disabled{opacity:.6;cursor:not-allowed;background-color:#aaa;box-shadow:0 6px #888}.card-special{font-size:45px}#color-choice{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-level-3);padding:var(--spacing-lg);z-index:1000;background-color:#fff;border:8px solid #fff;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#color-choice h2{margin-bottom:var(--spacing-md);text-align:center;font-size:32px}#color-buttons{justify-content:space-around;display:flex}#color-choice button{border-radius:var(--border-radius-lg);width:120px;height:120px;margin:0 var(--spacing-md);box-shadow:var(--shadow-level-2)}#color-buttons button:first-child{background-color:#ff6b6b}#color-buttons button:nth-child(2){background-color:#6b6bff}#color-buttons button:nth-child(3){background-color:#6bff6b}#color-buttons button:nth-child(4){background-color:#ffff6b}@media (orientation:landscape){#game-container{padding:var(--spacing-sm);gap:var(--spacing-xs);grid-template-rows:28% 36% 36%}#opponents-area{height:100%;padding:var(--spacing-xs)var(--spacing-sm)0 var(--spacing-sm)}#game-area{width:100%;height:100%;padding:var(--spacing-xs)var(--spacing-sm)}#player-hand{height:100%;padding:var(--spacing-sm)var(--spacing-xs);margin:0 var(--spacing-sm)}#julia-display{padding:var(--spacing-sm)}#side-indicators{padding:var(--spacing-sm);gap:var(--spacing-xs)}#controls{height:20%}.discard-cards-container{min-width:450px}}@media (orientation:portrait){#game-container{padding:var(--spacing-sm);gap:var(--spacing-xs);grid-template-rows:30% 35% 35%}#opponents-area{padding:var(--spacing-xs)var(--spacing-sm)0 var(--spacing-sm)}#game-area{padding:var(--spacing-xs)var(--spacing-sm)}#player-hand{padding:var(--spacing-sm)var(--spacing-xs);margin:0 var(--spacing-sm)}#julia-display{padding:var(--spacing-sm)}#side-indicators{padding:var(--spacing-sm);gap:var(--spacing-xs)}.character-image{width:90px;height:90px;font-size:32px}#deck,#discard-pile{width:120px;height:180px}.discard-cards-container{min-width:350px}button{width:90px;height:90px}button:before{font-size:45px}}@media (orientation:landscape) and (height<=450px){#game-container{grid-template-rows:25% 38% 37%;padding:5px}.character-image{width:60px!important;height:60px!important;font-size:24px!important}.character-name{margin-bottom:3px!important;font-size:18px!important}.card-count{padding:3px 8px!important;font-size:16px!important}#opponents-area{padding:3px 15px 0!important}.opponent{gap:0!important}.card{width:85px!important;height:128px!important;margin:0 -8px 0 0!important;font-size:22px!important}#deck,#discard-pile{width:90px!important;height:135px!important;margin-top:8px!important;margin-bottom:8px!important}.uno-logo{padding:3px 10px!important;font-size:28px!important}.deck-count{padding:2px 6px!important;font-size:14px!important;bottom:6px!important;right:6px!important}.discard-cards-container{min-width:280px!important;height:150px!important;padding-bottom:15px!important;padding-right:30px!important}#game-area{margin-top:3px!important;margin-bottom:3px!important;padding:5px 15px!important}#deck{margin-right:20px!important}#player-hand{min-height:140px!important;margin:0 10px!important;padding:8px 5px!important}#side-indicators{gap:6px!important;right:3px!important}#color-indicator{border:3px solid #fff!important;width:50px!important;height:50px!important}.card-emoji{font-size:45px!important}.card[data-value=Skip] .card-emoji,.card[data-value=Reverse] .card-emoji,.card[data-value=Draw\ 2] .card-emoji,.card[data-value=Wild] .card-emoji{font-size:55px!important}.card[data-value="Wild Draw 4"] .card-emoji{font-size:60px!important}.card-corner{width:30px!important;height:30px!important;font-size:20px!important}.card[data-value="0"] .card-corner,.card[data-value="1"] .card-corner,.card[data-value="2"] .card-corner,.card[data-value="3"] .card-corner,.card[data-value="4"] .card-corner,.card[data-value="5"] .card-corner,.card[data-value="6"] .card-corner,.card[data-value="7"] .card-corner,.card[data-value="8"] .card-corner,.card[data-value="9"] .card-corner{font-size:26px!important}button{width:70px!important;min-width:70px!important;height:70px!important}button:before{font-size:35px!important}.uno-indicator{padding:6px 10px!important;font-size:18px!important;top:-15px!important;right:-15px!important}.opponent.current-player:before{font-size:20px!important;top:-20px!important}#color-choice{padding:20px!important}#color-choice h2{margin-bottom:15px!important;font-size:24px!important}#color-choice button{width:80px!important;height:80px!important;margin:0 8px!important}.character-fallback{font-size:40px!important}#julia-display{top:280px!important;left:25px!important}#julia-display>div:first-child,#bingo-display>div:first-child{width:80px!important;height:80px!important}#julia-display .character-fallback,#bingo-display .character-fallback{font-size:40px!important}#julia-display>div:last-child,#bingo-display>div:last-child{margin-top:5px!important;padding:5px 10px!important;font-size:16px!important}}@media (width<=600px){.discard-cards-container{min-width:300px}.discard-cards-container .card{left:calc(var(--index)*25px)!important;top:0!important}#game-area{padding:15px 10px}#deck,#discard-pile{margin-top:20px;margin-bottom:20px}}.turn-indicator{display:none}#name-turn-indicator{color:#333;text-shadow:0 0 10px #fffc;text-align:center;padding:10px 15px;font-size:22px;font-weight:700}@keyframes pulse-turn{0%{transform:translate(-50%)scale(1)}to{transform:translate(-50%)scale(1.2)}}@keyframes draw-highlight{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.welcome-screen{z-index:10000;background:linear-gradient(135deg,#ff66a5 0%,#ffa0c3 60%,#ffcce0 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0;overflow:hidden}.welcome-screen:before{content:"";background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.15'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");width:200%;height:200%;animation:60s linear infinite welcome-bg-scroll;position:absolute;top:-50%;left:-50%}@keyframes welcome-bg-scroll{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-100px)rotate(5deg)}}.welcome-content{text-align:center;-webkit-backdrop-filter:blur(10px);z-index:1;background-color:#ffffff4d;border:5px solid #ffffff80;border-radius:30px;flex-direction:column;justify-content:center;align-items:center;max-width:90%;padding:50px;animation:3s infinite alternate welcome-content-glow;display:flex;position:relative;box-shadow:0 15px 35px #0000004d,0 0 20px #fff6}@keyframes welcome-content-glow{0%{box-shadow:0 15px 35px #0000004d,0 0 20px #fff6}to{box-shadow:0 20px 45px #0006,0 0 30px #fff9}}.welcome-content button:hover{background-color:#fc0;transform:scale(1.1)rotate(3deg);box-shadow:0 10px 25px #0000004d,0 0 15px #ffffff80}.welcome-content button:active{transform:scale(.95)}@keyframes float{0%{transform:translateY(0)rotate(var(--rotation))}50%{transform:translateY(-20px)rotate(var(--rotation))}to{transform:translateY(0)rotate(var(--rotation))}}.welcome-card{--rotation:0deg;animation:4s ease-in-out infinite float;animation-delay:calc(var(--index)*.5s)}
/*# sourceMappingURL=repo.8a20e944.css.map */
