@import "https://fonts.googleapis.com/css2?family=MedievalSharp&display=swap";:root{color:#ffffffde;--p-color-1:#d7a237;--p-color-2:#341e15;background-color:#1a1a1a;font-family:MedievalSharp,cursive;font-style:normal;font-weight:400;line-height:1.5}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden}body{place-items:center;min-width:320px;margin:0;display:flex}h3{color:var(--p-color-1);margin:10px 0}.hidden{display:none!important}input{outline:none}#app{width:100%;height:100dvh;margin:0;overflow:hidden}.game-container{flex-direction:column;align-items:center;gap:0;width:100%;height:100dvh;display:flex}#gameCanvas{box-shadow:none;background:#130f0a;border:none;border-radius:0;width:100%;height:100%;display:block}.top-bar{z-index:100;justify-content:space-between;align-items:center;gap:1.2vw;width:100%;padding:2vh 1.2vw;display:flex;position:absolute;top:0;left:0;box-shadow:0 2px 5px #0000004d}.top-bar>*{filter:drop-shadow(0 0 8px #b09a6f99)}.top-bar:before{content:"";z-index:-1;filter:grayscale(50%)drop-shadow(0 0 10px #00000072);background-image:url(./fest-Q-yP6mnL.png);background-repeat:repeat-x;background-size:auto 100%;width:100%;height:165%;position:absolute;top:-25px;left:0}.players-overlay{color:#fff;text-align:left;pointer-events:none;background:#0009;border-radius:0 10px 0 0;min-width:150px;padding:1.8vh 1.6vw;font-size:clamp(14px,1.6vw,24px);position:absolute;bottom:0;left:0}.players-overlay h3{color:var(--p-color-1);opacity:.8;border-bottom:1px solid #fff3;margin:0 0 10px;padding-bottom:5px;font-size:1em;display:none}.players-overlay ul{margin:0;padding:0;list-style:none}.players-overlay li{align-items:center;gap:.8em;padding:.8vh 0;font-size:1.2em;display:flex}.game-controls{pointer-events:none;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6vw;display:flex;position:absolute;bottom:2vh;right:3vw}.game-controls button{pointer-events:auto}.score-display{color:#fcf0da;text-shadow:0 0 1vmin #000;border:.2vw solid var(--p-color-1);background-color:#4132128e;border-radius:1.5vmin;align-items:center;gap:1vmin;padding:.6vw 1.6vw .5vw;font-size:clamp(18px,2.5vmin,50px);font-weight:700;display:flex}.score-display .separator{color:#ffffff80;font-weight:400}.score-display .score-label{border-radius:1vmin;padding:0 .6em}.score-display .score-label:after{content:" :";opacity:.8}.score-display .player-name{color:var(--p-color-1)}.score-display .score-value:after{content:" p";opacity:.8;font-size:.8em}#turnTimer{text-align:right;opacity:.7;width:2.2em;display:inline-block}.score-display .timer-value:after{content:" s";opacity:.8;font-size:.8em}.score-display .timer-low{color:#f44;text-shadow:0 0 10px #ff000080;animation:1s infinite blink}@keyframes blink{0%{opacity:1}50%{opacity:.5}to{opacity:1}}#topBarTotalScore{min-width:3em}#topBarTurnScore{min-width:2em}.right-floating-area{filter:none;flex-direction:column;align-items:flex-end;gap:1em;display:flex;position:absolute;top:160%;right:2vw}.score-goal-display{pointer-events:none;color:#bd923c;background-color:#97572699;border:2px solid;border-radius:1vmin;align-items:center;gap:1vmin;padding:.3vw 1.2vw .2vw;font-size:clamp(14px,2.2vmin,40px);font-weight:700;display:flex}#scoreGoalValue:after{content:" p";opacity:.8;font-size:.8em}#chatBtn{border:.2vw solid var(--p-color-1);background-color:#4132128e;background-image:url(./chat-BNh35jPM.png);background-size:100%;border-radius:50%;width:10vw;height:10vw}#finalRoundIndicator{--color:#fc6a5a;color:var(--color);text-shadow:0 0 1vmin #000;border:.2vw solid var(--color);background-color:#4112128e;border-radius:1.5vmin;justify-content:center;align-items:center;padding:.6vw 1.6vw .5vw;font-size:clamp(16px,2.2vmin,45px);font-weight:700;animation:1s ease-in-out infinite finalRoundFlash;display:flex}@keyframes finalRoundFlash{0%,to{opacity:1}50%{opacity:.5}}.icon-btn{cursor:pointer;background-position:50%;background-repeat:no-repeat;width:6vw;height:6vw;transition:transform .2s;box-shadow:none!important;background-color:#0000!important;background-size:contain!important;border:none!important;padding:0!important}.icon-btn:not(:disabled):hover{transform:scale(1.1);box-shadow:none!important;background-color:#0000!important}.icon-btn:active{transform:scale(.95)}.icon-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale()}#infoBtn{background-image:url(./scroll-CazqBIHP.png)}#musicBtn{background-image:url(./harp-NcTvFj7G.png)}#newGameBtn{background-image:url(./beer-C8393SZz.png)}#profileBtn{background-image:url(./profile-CScaMjEJ.png);background-size:70%}#debugBtn{background-image:url(./harp-NcTvFj7G.png)}#rollBtn{background-image:url(./dice-DDnxD7Tx.png);width:8vw;height:8vw}#bankBtn{background-image:url(./next-LcF_eF9x.png)}.roll-icon{background-image:url(./dice-DDnxD7Tx.png)}.bank-icon{background-image:url(./next-LcF_eF9x.png)}.players-list-player-name{background-color:#816e0e3c;border-radius:1em;padding:.1em .7em 0;display:inline-flex}.inline-icon{vertical-align:middle;background-position:50%;background-repeat:no-repeat;background-size:contain;width:1.5em;height:1.5em;margin:0 2px;display:inline-block}@keyframes scorePop{0%{color:#fff;transform:scale(1)}50%{color:#4caf50;transform:scale(1.5)}to{color:#fff;transform:scale(1)}}.score-pop{animation:.4s ease-out 2 scorePop}@keyframes scoreFarkle{0%{color:#fff;transform:translate(0)}25%{color:#ff5252;transform:translate(-5px)}50%{color:#ff5252;transform:translate(5px)}75%{color:#ff5252;transform:translate(-5px)}to{color:#fff;transform:translate(0)}}.score-farkle{animation:.5s ease-in-out scoreFarkle}.score-transfer-source{transition:color .2s;color:#ff5252!important}.score-transfer-target{transition:color .2s;color:#4caf50!important}.easter-egg-festive{animation:easterEggPulse var(--track-pulse) ease-in-out infinite, easterEggHueRotate 5s linear infinite}@keyframes easterEggPulse{0%,to{transform:scale(1);box-shadow:0 0 10px #dac26680}50%{transform:scale(1.3);box-shadow:0 0 25px #dac266e6}}@keyframes easterEggHueRotate{0%{filter:hue-rotate()brightness()}25%{filter:hue-rotate(90deg)brightness(1.1)}50%{filter:hue-rotate(180deg)brightness()}75%{filter:hue-rotate(270deg)brightness(1.1)}to{filter:hue-rotate(360deg)brightness()}}.overlay{z-index:1000;opacity:1;visibility:visible;background-color:#000c;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s,visibility .3s;display:flex;position:fixed;top:0;left:0}#promptOverlay{z-index:1100}.overlay.hidden{opacity:0;visibility:hidden;pointer-events:none;display:flex!important}.overlay-content{border:2px solid var(--p-color-1);background:#1a1a1a;border-radius:15px;width:90%;max-width:800px;max-height:90vh;padding:30px;position:relative;overflow-y:auto;box-shadow:0 0 20px #4caf504d}.close-btn{color:#fff;cursor:pointer;width:30px;height:30px;box-shadow:none;background:0 0;border:none;padding:0;font-size:30px;line-height:1;position:absolute;top:10px;right:10px}.close-btn:hover{color:#f44;box-shadow:none;background:0 0;transform:scale(1.1)}.info-container{flex-wrap:wrap;justify-content:center;gap:30px;display:flex}.scoring-guide,.instructions{text-align:left;flex:1;min-width:300px}.scoring-guide ul{padding:0;list-style-type:none}.scoring-guide li{border-bottom:1px solid #ffffff1a;margin:5px 0;padding-bottom:2px}.farkle-message{text-align:center;animation:.5s cubic-bezier(.175,.885,.32,1.275) popIn}.farkle-message h1{color:#f44;text-shadow:4px 4px #000;letter-spacing:5px;margin:0;font-size:8em}.farkle-message p{color:#fff;text-shadow:2px 2px 4px #000c;margin-top:20px;font-size:2em}@keyframes popIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.new-game-menu-content{text-align:center;aspect-ratio:10/4.8;background:url(./table-fIlDm_zd.png) 50%/auto 142% repeat-x;border:5px solid #341e15;width:auto;max-width:min(90vw,900px);height:auto;max-height:min(90vh,400px);padding:0;overflow:hidden;box-shadow:0 0 33px #0000004d!important}#menuContent{width:780px;max-width:100%;height:100%;padding:2.5%;container-type:inline-size}#menuContent>*{font-size:2cqw}.new-game-menu-content h2{color:var(--p-color-1);text-shadow:0 0 10px #000;margin:0;font-size:2em!important}.new-game-menu-content h3{text-align:left;text-shadow:0 0 5px #000e;margin:0;font-size:3cqw}.menu-buttons{justify-content:space-evenly;gap:1.5cqw;margin-top:2cqw;display:flex}.menu-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:center;gap:2cqw;padding:1.5cqw 2cqw;font-family:inherit;font-size:4cqw;transition:background .2s;display:flex}.menu-btn:hover{background:#fff3}.local-game-setup{flex-direction:column;gap:1.5cqw;height:100%;display:flex}.setup-columns{text-align:left;flex:auto;gap:3cqw;display:flex;overflow:hidden}.left-column,.right-column{flex-direction:column;flex:1;gap:1.5cqw;display:flex}.right-column{padding-top:2cqw}.new-game-menu-content .list-container,.players-list-container{scrollbar-width:thin;background:#0000004d;border:1px solid #170f0280;border-radius:5px;flex-grow:1;padding:1cqw;font-size:3cqw;overflow-y:auto}.players-list-container ul{margin:0;padding:0;list-style:none}.players-list-container li{color:#fff;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:1cqw 2cqw;font-size:1.1em;display:flex}.players-list-container li .status{opacity:.8;font-size:.8em}.delete-player-btn{color:#ff6b6b;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 .5cqw;font-size:1.2em;line-height:1;transition:opacity .2s}.delete-player-btn:hover{opacity:1}.no-players-warning,.no-rooms{color:#fa0;text-align:center;padding:4cqw}.beer-icon-small{background-image:url(./beer-C8393SZz.png);width:3cqw;height:3cqw}.add-player-group{width:100%;display:flex}.add-player-group input{color:#fff;background:#00000087;border:1px solid #d7a237;border-radius:5px 0 0 5px;outline:none;flex-grow:1;max-width:70%;padding:1.5cqw;font-family:inherit;font-size:2.2cqw}.add-player-group button{background-color:var(--p-color-1);color:#fff;cursor:pointer;border:none;border-radius:0 5px 5px 0;align-items:center;gap:.4em;margin:0;padding:0 2cqw;font-family:inherit;font-size:2.2cqw;font-weight:700;line-height:1;display:flex}.suggested-names-section{width:100%}.suggested-names-section h4{color:var(--p-color-1);margin:0 0 1cqw;font-size:2.5cqw}.suggested-list{scrollbar-width:none;gap:1.5cqw;max-width:48cqw;display:flex;overflow-x:auto}.suggested-name-tag{cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:15px;align-items:center;gap:1em;height:2.1em;padding:0 0 0 1.5cqw;font-size:1em;transition:background .2s;display:flex}.suggested-name-tag:hover{border-color:var(--p-color-1);background:#fff3}.delete-suggestion-btn{cursor:pointer;color:#aaa;aspect-ratio:1;border-radius:50%;justify-content:center;align-items:center;height:100%;font-size:1.5em;font-weight:700;line-height:1;display:inline-flex}.delete-suggestion-btn:hover{color:#ff6b6b;background:#ffffff1a}.no-suggestions{color:#aaa;text-shadow:0 0 5px #000;font-size:.9em}.back-btn{cursor:pointer;background:url(./back-Cu47Lqmr.png) 50%/contain no-repeat;border:none;width:5cqw;height:5cqw;display:block;position:absolute;top:10px;left:10px}.back-btn:hover{color:#fff}#refreshRoomsBtn{cursor:pointer;background:url(./back-Cu47Lqmr.png) 50%/contain no-repeat;border:none;width:3.5cqw;height:3.5cqw;display:inline-block}.primary-btn{background-color:var(--p-color-1);color:#fff;cursor:pointer;border:1px solid #fff5;border-radius:5px;padding:.4em 1.2em;font-family:inherit;font-size:1.5em}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.secondary-btn{color:#fff;cursor:pointer;background-color:#ffffff1a;border:1px solid #ffffff4d;border-radius:5px;padding:.4em 1.2em;font-family:inherit;font-size:1.5em;transition:background .2s}.secondary-btn:hover{background-color:#fff3}.setup-footer{align-items:end;display:flex}.icon-wrapper{flex-shrink:0;width:24cqw;height:24cqw;position:relative}.beer-toast{position:relative}.beer{background-position:50%;background-repeat:no-repeat;background-size:contain;width:15cqw;height:15cqw;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);position:absolute;bottom:1cqw}.beer:before{content:"";background-image:url(./beer-C8393SZz.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:100%;height:100%;position:absolute;top:0;left:0}.beer.left{transform-origin:0 100%;left:-5%;transform:rotate(-15deg)translateY(-15%)}.beer.right{transform-origin:100% 100%;right:-5%;transform:rotate(15deg)translateY(-5%)}.beer.right:before{transform:scaleX(-1)}.menu-btn:hover .beer.left{transform:rotate(10deg)translate(-10%)translateY(-35%)}.menu-btn:hover .beer.right{transform:rotate(-10deg)translate(10%)translateY(-35%)}.shield-bg{opacity:.8;background-image:url(./wall-shield-Dtzny7Jx.png);background-position:50%;background-repeat:no-repeat;background-size:cover;border:4px solid #180500;border-radius:1000px;width:100%;height:100%;box-shadow:0 0 20px #000c}.room-icon .map-bg,.online-random-icon .map-bg{opacity:.8;background-image:url(./map-Boiqr8AD.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:100%;height:100%}.room-icon .beer-mini-group{width:10cqw;height:10cqw;position:absolute;bottom:-.6cqw;right:0}.room-icon .beer-mini-group .beer{width:5.5cqw;height:7cqw}.online-random-icon .compass-mini-group{width:10cqw;height:10cqw;transition:all .2s cubic-bezier(.175,.885,.32,1.275);position:absolute;bottom:-.6cqw;right:0;transform:rotate(10deg)translateY(-1cqw)translate(-.5cqw)}.menu-btn:hover .compass-mini-group{transform:rotate(25deg)translateY(-1.8cqw)translate(0)}.online-random-icon .compass-mini-group .compass-base{filter:drop-shadow(0 0 .4cqw #00000037);background:url(./compass-base-BXxsF9_W.png) 50%/contain no-repeat;width:8cqw;height:10cqw;position:absolute}.online-random-icon .compass-mini-group .compass-arrow{filter:drop-shadow(0 0 .4cqw #000c);background:url(./compass-arrow-CNltPYXn.png) 50%/contain no-repeat;width:4cqw;height:4cqw;transition:all .3s;position:absolute;top:38%;left:20%}.menu-btn:hover .compass-mini-group .compass-arrow{transform:rotate(120deg)}.online-setup{flex-direction:column;justify-content:center;align-items:center;gap:3.4cqw;height:100%;display:flex}.online-setup-row{flex:auto;justify-content:center;gap:3cqw;width:100%;display:flex;overflow:hidden}.online-setup-column{flex-direction:column;flex:1;gap:2.5cqw;display:flex}.input-group{text-align:left;flex-direction:column;gap:.2cqw;width:100%;max-width:400px;display:flex}.input-group label{color:var(--p-color-1);text-shadow:0 0 5px #000;font-size:3cqw}.input-group input{color:#fff;background:#00000080;border:1px solid #d7a237;border-radius:5px;padding:1cqw;font-family:inherit;font-size:3cqw}ul.rooms-list{margin:0;padding:0;font-size:2.2cqw;list-style:none}ul.rooms-list .room-main{color:#fff;cursor:pointer;border-bottom:1px solid #ffffff1a;align-items:center;gap:.5em;padding:.5em;transition:background .2s;display:flex}ul.rooms-list .room-main>.separator{border-right:1px solid #ffffff4d;height:1em}ul.rooms-list .room-main>.room-id{font-size:1.2em;font-weight:700}ul.rooms-list .room-main>.room-host,ul.rooms-list .room-main>.room-score{opacity:.8}.lobby-layout{flex-direction:column;gap:1cqw;height:100%;display:flex}.lobby-header{flex:none}.lobby-columns{flex:1;gap:2cqw;width:100%;min-height:0;display:flex}.lobby-left{flex-direction:column;flex:1;gap:1cqw;display:flex}.lobby-right{border-radius:8px;flex-direction:column;flex:1;justify-content:space-between;display:flex}.room-info{text-shadow:0 0 5px #000e;flex-direction:column;align-items:center;gap:.5cqw;display:flex}.room-info .label{font-size:3cqw;font-weight:700}.room-info .value{color:var(--p-color-1);font-size:5cqw;font-weight:700}.lobby-actions{flex-direction:column;gap:1cqw;width:100%;display:flex}.lobby-actions button{width:100%}.ready-active{background-color:#4caf50!important;border-color:#45a049!important}.score-control{justify-content:center;align-items:center;gap:1cqw;width:100%;display:flex}.score-buttons{gap:.5cqw;display:flex}.score-btn{border:1px solid var(--p-color-2);color:#ffffffca;cursor:pointer;background:#23232380;border-radius:5px;padding:.5cqw 1cqw;font-family:inherit;font-size:1em;transition:background .2s}.score-btn:hover{background:#fff3}.new-game-menu-content .score-display{text-align:center;border:1px solid var(--p-color-1);color:#fff;background:#0000004d;border-radius:5px;justify-content:center;align-items:center;min-width:5em;padding:.1cqw 2cqw 0;font-size:1.8em;display:flex}.new-game-menu-content .score-display:after{content:" p";opacity:.8;font-size:.8em}.pwa-overlay{z-index:9999;color:#fff;background:#141414fa;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.pwa-content{text-align:center;max-width:80%;padding:20px}.pwa-btn{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:8px;margin:20px 0;padding:15px 30px;font-size:1.5rem;box-shadow:0 4px 6px #0000004d}.pwa-btn:active{transform:scale(.98)}.small-text{opacity:.9;margin-top:10px;font-size:1rem;line-height:1.4}.share-icon{vertical-align:middle;font-size:1.2em;display:inline-block}.rotate-overlay{z-index:10000;color:#fff;background-color:#1a1a1a;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.rotate-content{text-align:center}.rotate-content .rotate-icon{justify-content:center;align-items:center;margin-bottom:20px;font-size:4rem;display:flex}.rotate-content .rotate-icon:before{content:"";background-image:url("data:image/svg+xml,%3c?xml%20version='1.0'%20?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.9231%2019C10.4611%2019%209.03659%2018.532%207.85379%2017.6631C6.671%2016.7942%205.79063%2015.569%205.33884%2014.1631C4.88705%2012.7572%204.88705%2011.2428%205.33884%209.83688C5.79063%208.43098%206.671%207.20578%207.8538%206.33688C9.03659%205.46798%2010.4611%205%2011.9231%205C13.3851%205%2014.8096%205.46799%2015.9924%206.33688C17.1752%207.20578%2018.0555%208.43098%2018.5073%209.83688C18.9591%2011.2428%2018.9591%2012.7572%2018.5073%2014.1631M17.5%2012.7778L18.4615%2014.3333L20%2013.1667'%20stroke='%23e8e8e8ff'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e");background-size:contain;width:2em;height:2em;animation:2s infinite rotate-animation;display:block}.rotate-content p{font-family:MedievalSharp,cursive;font-size:1.5rem}@keyframes rotate-animation{0%{transform:rotate(0)}25%{transform:rotate(90deg)}50%{transform:rotate(90deg)}75%{transform:rotate(0)}to{transform:rotate(0)}}@media screen and (orientation:landscape),screen and (hover:hover){.rotate-overlay{display:none}}.rotation-test{color:#fff;text-align:left;z-index:50;opacity:.7;background:#000c;border:1px solid #fff3;border-radius:10px;min-width:200px;padding:15px;transition:opacity .3s;position:absolute;top:186px;left:20px}.rotation-test.hidden{opacity:0;pointer-events:none}.rotation-test h4{color:var(--p-color-1);border-bottom:1px solid #fff3;margin-top:0;padding-bottom:5px}.rotation-test label{margin:10px 0;display:block}.disco-lights{--transparency:.25;transform-origin:top;background-color:rgba(255, 0, 0, var(--transparency));pointer-events:none;width:100vw;height:100vh;animation:5s linear infinite easterEggHueRotate;position:fixed;top:0}.haz{transform-origin:top;clip-path:polygon(50% 0%,0% 100%,100% 100%);--flash-pulse:calc(var(--track-pulse) / 2);width:100vmin;height:140vmin;animation:flash var(--flash-pulse) linear infinite;position:absolute;top:-20%}.rojo{background:linear-gradient(to bottom, rgba(255, 210, 210, var(--transparency)), #ff3c3c00);animation-delay:0s;left:0%;transform:translate(-50%)rotate(-26deg)}.azul{background:linear-gradient(to bottom, rgba(210, 210, 255, var(--transparency)), #5050ff00);animation-delay:calc(var(--flash-pulse) / 1.5);display:none;top:15%;left:110%;transform:translate(-50%)rotate(50deg)}.verde{background:linear-gradient(to bottom, rgba(210, 255, 210, var(--transparency)), #50ff7800);animation-delay:calc(var(--flash-pulse) * 2 / 1.5);left:100%;transform:translate(-50%)rotate(26deg)}@keyframes flash{0%,20%{visibility:visible}21%,to{visibility:hidden}}.phrases-config{flex-direction:column;gap:10px;margin:20px 0;display:flex}.phrases-config input{color:#fff;background:#333;border:1px solid #444;border-radius:5px;padding:10px;font-size:1.2em}.reaction-picker-container{text-align:center}.reaction-picker-content{align-items:center;gap:1em;display:flex}.reaction-picker-content .phrases-list{flex-direction:column;flex:1;gap:10px;display:flex}.reaction-picker-content .emojis-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.reaction-btn{color:#fff;cursor:pointer;background:#444;border:1px solid #666;border-radius:8px;padding:10px;transition:transform .1s}.reaction-btn:active{transform:scale(.95)}.phrase-btn{background:#2a2a2a;font-size:1.1em}.emoji-btn{background:0 0;border:none;font-size:2em}.reaction-display{z-index:2000;pointer-events:none;text-align:center;border:2px solid var(--p-color-1);background:#000c;border-radius:20px;padding:1vw 4vw;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 30px #00000080}.reaction-content{color:#fff;margin-bottom:10px;font-weight:700}.reaction-sender{color:var(--p-color-1);font-size:1em}.animate-pop{animation:3s forwards popAndFade}@keyframes popAndFade{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}10%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}20%{opacity:1;transform:translate(-50%,-50%)scale(1)}80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.8)}}#profileOverlay .overlay-content{height:min(100vh,350px)}#profileOverlay .profile-tabs{gap:10px;display:flex}#profileOverlay .tab-btn{color:#888;cursor:pointer;background:0 0;border:none;padding:5px 10px;font-family:inherit;font-size:1.1em}#profileOverlay .tab-btn.active{color:var(--p-color-1);border-bottom:2px solid var(--p-color-1)}#profileOverlay .tab-btn:disabled{cursor:not-allowed;opacity:.5}#profileOverlay .phrases-config{grid-template-columns:1fr 1fr;gap:10px;display:grid}#profileOverlay .phrases-config input{box-sizing:border-box;color:#fff;background:#222;border:1px solid #333;border-radius:4px;width:100%;padding:8px;font-family:inherit}#profileOverlay .tab-content.hidden{display:none}#profileOverlay .tab-disabled{pointer-events:none;opacity:.5}#profileOverlay .stats-container{flex-wrap:wrap;gap:15px;margin-top:10px;display:flex}#profileOverlay .stats-container-row{gap:15px;width:100%;display:flex}#profileOverlay .stat-card{text-align:center;background:#ffffff0d;border-radius:8px;flex-direction:column;flex:auto;padding:12px;display:flex}#profileOverlay .stat-label{color:#aaa;text-transform:uppercase;letter-spacing:1px;font-size:.8em}#profileOverlay .stat-value{color:var(--p-color-1);margin-top:5px;font-size:1.4em;font-weight:700}#profileOverlay .recent-games{text-align:left;margin-top:20px}#profileOverlay .recent-games h3{color:#ccc;border-bottom:1px solid #333;margin-bottom:10px;padding-bottom:5px;font-size:1em}#profileOverlay .recent-game-item{border-bottom:1px solid #ffffff0d;align-items:center;gap:10px;padding:8px 0;font-size:.85em;display:flex}#profileOverlay .recent-game-item .game-left{flex-direction:column;min-width:120px;display:flex}#profileOverlay .recent-game-item .game-date{color:#ccc;font-size:.9em}#profileOverlay .recent-game-item .game-id{color:#666;font-size:.75em}#profileOverlay .recent-game-item .game-players{flex:1;justify-content:flex-start;align-items:center;gap:6px;display:flex;overflow:hidden}#profileOverlay .player-chip{white-space:nowrap;text-overflow:ellipsis;background:#ffffff08;border-radius:12px;align-items:center;gap:6px;max-width:140px;padding:4px 6px;font-size:.8em;display:inline-flex;overflow:hidden}#profileOverlay .player-chip .player-score{color:#999;margin-left:6px;font-size:.75em}#profileOverlay .player-winner{color:var(--p-color-1);font-weight:600}#profileOverlay .player-self-winner{background:#4caf500f;border:1px solid #4caf5033}#profileOverlay .player-self-loser{color:#f44336;background:#f443360a;border:1px solid #f443362e;font-weight:700}#profileOverlay .recent-game-item .game-status{text-align:right;min-width:110px}#profileOverlay .recent-game-item .game-goal{color:#888;margin-top:3px;font-size:.75em}#profileOverlay .status-win{color:#4caf50;font-weight:700}#profileOverlay .status-lose{color:#f44336;font-weight:700}#profileOverlay .status-neutral{color:#ccc}#profileOverlay .player-self{border:1px solid #ffffff0f;font-weight:600;box-shadow:inset 0 0 0 1px #ffffff08}#profileOverlay .achievements-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:15px;padding-right:5px;display:grid}#profileOverlay .achievement-card{background:#1e1e1e99;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:12px;padding:10px;transition:all .2s;display:flex}#profileOverlay .achievement-card.locked{opacity:.5;filter:grayscale()}#profileOverlay .achievement-card.unlocked{background:#ffd7001a;border-color:#ffd7004d}#profileOverlay .achievement-card .ach-icon{width:48px;height:48px}#profileOverlay .ach-details{text-align:left;flex-direction:column;flex:1;justify-content:center;display:flex}#profileOverlay .ach-name{color:#e0e0e0;margin-bottom:2px;font-size:.95em;font-weight:700}#profileOverlay .achievement-card.unlocked .ach-name{color:gold}#profileOverlay .ach-desc{color:#888;font-size:.75em;line-height:1.2}#profileOverlay .account-tab-root{padding-top:10px}#profileOverlay .account-info-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:16px;padding:16px;display:flex}#profileOverlay .account-avatar{background:var(--p-color-1);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.4em;font-weight:700;display:flex}#profileOverlay .account-details{flex-direction:column;gap:4px;display:flex;overflow:hidden}#profileOverlay .account-name{color:#e0e0e0;font-size:1.1em;font-weight:600}#profileOverlay .account-email{color:#888;white-space:nowrap;text-overflow:ellipsis;font-size:.85em;overflow:hidden}#profileOverlay .account-guest-msg{color:#aaa;margin:0;font-size:.9em;line-height:1.5}#rpgOverlay{background-color:#020102e8}#rpgOverlay .overlay-content{width:100vw;max-width:1500px;height:100vh;max-height:1000px;box-shadow:none;border:none;border-radius:5px;flex-direction:column;padding:20px;display:flex}#rpgOverlay .rpg-layout{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}#rpgOverlay .rpg-header{background:#0000004d;border-radius:8px;justify-content:space-between;align-items:center;padding:10px;display:flex}#rpgOverlay .rpg-header .gold-display{color:gold;margin-right:15px;font-weight:700}#rpgOverlay .rpg-scene{text-shadow:1px 1px 2px #000;background:#0003 50%/cover;border:1px solid #555;border-radius:8px;min-height:80px;padding:15px}#rpgOverlay .rpg-scene .rpg-description{font-style:italic}#rpgOverlay .rpg-scene .npcs-container{margin-top:10px}#rpgOverlay .rpg-scene .npc-card{background:#ffffff0d;border-radius:4px;justify-content:space-between;align-items:center;margin-top:10px;padding:10px;display:flex}#rpgOverlay .rpg-scene .npc-card .npc-name{color:var(--p-color-1);font-weight:700}#rpgOverlay .rpg-scene .npc-card .npc-description{opacity:.8;font-size:.85em}#rpgOverlay .bg-town{background:linear-gradient(#00000080,#00000080),#5d4037}#rpgOverlay .bg-tavern{background:linear-gradient(#00000080,#00000080),#3e2723}#rpgOverlay .bg-forest{background:linear-gradient(#00000080,#00000080),#1b5e20}#rpgOverlay .bg-dungeon{background:linear-gradient(#00000080,#00000080),#263238}#rpgOverlay .rpg-log{background:#0003;border-radius:8px;flex:1;max-height:200px;padding:10px;overflow-y:auto}#rpgOverlay .rpg-log .log-entry{border-bottom:1px solid #444;margin-bottom:4px;padding-bottom:2px;font-size:.9em}#rpgOverlay .rpg-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}#rpgOverlay .rpg-action-btn{color:#ddd;cursor:pointer;background:#333;border:1px solid #555;border-radius:4px;padding:8px 12px;font-size:.9em;transition:all .2s}#rpgOverlay .rpg-action-btn:hover{color:#fff;background:#444;border-color:#888}#rpgOverlay .rpg-action-btn.gamble-btn{padding:5px 10px;font-size:.8em}.travel-grid-container{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.travel-close-btn{color:#ccc;cursor:pointer;z-index:200;background:#0009;border:.2cqmin solid #555;border-radius:1cqmin;padding:1cqmin 2cqmin;font-size:2cqmin;transition:all .2s;position:absolute;top:2cqmin;right:2cqmin}.travel-close-btn:hover{color:#fff;background:#000c;border-color:#888}.travel-grid{grid-template-rows:repeat(3,22cqmin);grid-template-columns:repeat(3,22cqmin);gap:2cqmin;margin:0 auto;display:grid;position:relative}.travel-cell{cursor:pointer;color:#aaa;background:#0006 50%/cover no-repeat;border:.4cqmin solid #555;border-radius:1.5cqmin;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;transition:all .2s;display:flex;position:relative}.travel-cell.rpg-action-btn:hover{border-color:gold;transform:scale(1.05);box-shadow:0 0 1.5cqmin #ffd7004d}.travel-cell.current-location{color:#6495ed;cursor:default;background:#6495ed4d;border-color:#6495ed;font-size:5cqmin;font-weight:700}.travel-cell.current-location:hover{box-shadow:none;transform:none}.travel-cell.diagonal{opacity:.8}.travel-arrow-img{filter:drop-shadow(0 0 1.5cqmin #ffd70080);background-image:url(./arrow-DzOYCcg0.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:12cqmin;height:12cqmin;transition:transform .2s}.travel-cell.nw .travel-arrow-img{transform:rotate(-45deg)}.travel-cell.n .travel-arrow-img{transform:rotate(0)}.travel-cell.ne .travel-arrow-img{transform:rotate(45deg)}.travel-cell.w .travel-arrow-img{transform:rotate(-90deg)}.travel-cell.e .travel-arrow-img{transform:rotate(90deg)}.travel-cell.sw .travel-arrow-img{transform:rotate(-135deg)}.travel-cell.s .travel-arrow-img{transform:rotate(180deg)}.travel-cell.se .travel-arrow-img{transform:rotate(135deg)}.travel-cell.rpg-action-btn:hover .travel-arrow-img{filter:drop-shadow(0 0 2cqmin #ffd700cc)brightness(1.2)}.travel-path{pointer-events:none;z-index:50;transform-origin:0;background:repeating-linear-gradient(90deg,gold 0 1cqmin,#0000 1cqmin 2cqmin);height:.5cqmin;position:absolute;top:50%;left:50%}.travel-path.hidden{display:none}.traveler{pointer-events:none;z-index:100;filter:drop-shadow(0 0 .8cqmin #000000e6);background-image:url(./rpg-figure-BndlAQHt.png);background-size:300% 300%;width:14cqmin;height:14cqmin;transition:left .1s linear,top .1s linear;animation:.5s infinite alternate bounce;position:absolute;transform:translate(-50%,-50%)}.traveler.hidden{display:none}@keyframes bounce{0%{transform:translate(-50%,-50%)translateY(0)}to{transform:translate(-50%,-50%)translateY(-.1cqmin)}}.location-description-overlay{pointer-events:none;background:linear-gradient(#0000 0%,#000000b3 30%,#000000e6 100%);flex-direction:column;align-items:center;gap:1.5cqmin;padding:5cqmin 3.5cqmin 3.5cqmin;display:flex;position:absolute;bottom:0;left:0;right:0}.location-name-overlay{color:var(--p-color-1);text-transform:uppercase;letter-spacing:.3cqmin;text-shadow:0 0 1.5cqmin #ffffff4d,.4cqmin .4cqmin .8cqmin #000c;font-family:MedievalSharp,cursive,serif;font-size:5cqmin;font-weight:700}.location-description-content{color:#e0e0e0;text-align:center;text-shadow:.4cqmin .4cqmin .8cqmin #000c;max-width:90%;margin:0 auto;font-size:2.8cqmin;font-style:italic;line-height:1.6}.rpg-dashboard-layout{background:#121212;border:1px solid #333;border-radius:12px;flex-direction:row;gap:15px;height:100%;padding:10px;display:flex;overflow:hidden}.rpg-sidebar-left{background:#1e1e1e99;border:1px solid #ffffff0d;border-radius:8px;flex-direction:column;flex:1;min-width:0;padding:0;display:flex;overflow:hidden;box-shadow:inset 0 0 10px #00000080}.rpg-main-content{aspect-ratio:1;background:#0000004d 50%/cover;border:1px solid #444;border-radius:8px;flex-direction:column;flex:none;justify-content:center;align-items:center;height:100%;display:flex;position:relative;overflow:hidden;container-type:size}.sidebar-top-info{background:#ffffff0d;border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.sidebar-stat{color:#fff;align-items:center;gap:5px;font-size:.95em;font-weight:700;display:flex}.rpg-actions-list{flex-direction:column;gap:8px;width:100%;display:flex}.sidebar-footer{border-top:1px solid #ffffff0d;margin-top:auto;padding-top:15px}.sidebar-mode{flex-direction:column;gap:15px;height:100%;display:flex}.sidebar-dynamic-content{flex-direction:column;flex:1;padding:15px;display:flex;overflow-y:auto}.sidebar-mode.hidden{display:none}.sidebar-location-info h3,.sidebar-npc-info h3{color:var(--p-color-1);margin:0 0 5px;font-family:MedievalSharp,cursive,serif;font-size:1.2em}.sidebar-location-info p{color:#aaa;margin:0;font-size:.9em;font-style:italic;line-height:1.4}.sidebar-npc-info p{color:#888;text-transform:uppercase;letter-spacing:1px;margin:0;font-size:.85em}.sidebar-section h4{text-transform:uppercase;color:#777;letter-spacing:1px;border-bottom:1px solid #ffffff0d;margin:0 0 10px;padding-bottom:5px;font-size:.8em}.sidebar-stat strong{color:#fff;margin-right:5px}.npc-list{flex-direction:column;gap:8px;display:flex}.npc-list-item{cursor:pointer;background:#ffffff0d;border:1px solid #0000;border-radius:4px;align-items:center;gap:10px;padding:8px;transition:background .2s;display:flex}.npc-list-item:hover,.npc-list-item.selected{background:#ffffff1a;border-color:#666}.npc-avatar-small{background:#555;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.npc-list-name{font-size:.9em;font-weight:700}.npc-detail-view{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:3cqmin;width:100%;height:100%;padding:5cqmin;display:flex;position:absolute;top:0;left:0}.npc-avatar-large{background:#444 50%/cover;border:.5cqmin solid #666;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:25cqmin;height:25cqmin;font-size:10cqmin;display:flex;box-shadow:0 0 2cqmin #00000080}.npc-detail-name{color:var(--p-color-1);text-shadow:.4cqmin .4cqmin .8cqmin #000c;font-size:6cqmin;font-weight:700}.npc-level{color:#888;margin-top:-1.5cqmin;font-size:2.5cqmin}.npc-detail-desc{text-align:center;color:#aaa;max-width:85%;font-size:3cqmin;font-style:italic;line-height:1.4}.npc-detail-actions{gap:2cqmin;margin-top:4cqmin;display:flex}.rpg-main-content .rpg-action-btn{border-width:.2cqmin;border-radius:1cqmin;padding:1.5cqmin 3cqmin;font-size:2.5cqmin}.back-to-map-btn{color:#aaa;cursor:pointer;z-index:10;background:#0006;border:.2cqmin solid #555;border-radius:1cqmin;padding:1cqmin 2cqmin;font-size:2.2cqmin;position:absolute;top:2cqmin;left:2cqmin}.back-to-map-btn:hover{color:#fff;border-color:#888}.rpg-header,.rpg-main-view{display:none}#achievement-container{z-index:10000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.achievement-notification{color:#fff;pointer-events:auto;background:#000000d9;border:2px solid gold;border-radius:8px;align-items:center;gap:15px;width:300px;padding:10px;transition:transform .4s cubic-bezier(.175,.885,.32,1.27);display:flex;transform:translate(120%);box-shadow:0 4px 15px #00000080}.achievement-notification.show{transform:translate(0)}.ach-text{flex-direction:column;display:flex}.ach-title{color:gold;text-transform:uppercase;letter-spacing:1px;font-size:.8em;font-weight:700}.ach-name{font-size:1.1em;font-weight:700}.ach-icon{width:64px;height:64px;image-rendering:pixelated;background-image:url(./achievements-set1-BbycpFYD.png);background-size:500% 500%;border-radius:4px;flex-shrink:0}.ach-farkle-6{background-position:0 0}.ach-big-roll{background-position:25% 0}.ach-survivor-1{background-position:50% 0}.ach-gold-hoarder{background-position:75% 0}.ach-tavern-king{background-position:100% 0}.ach-duel-winner{background-position:0 25%}.ach-perfect-aim{background-position:25% 25%}.ach-hidden-treasure{background-position:50% 25%}.ach-chronicler{background-position:75% 25%}.ach-recognized-hero{background-position:100% 25%}.ach-champion{background-position:0%}.ach-six-ones{background-position:25%}.ach-against-time{background-position:50%}.ach-key-destiny{background-position:75%}.ach-alchemist{background-position:100%}.ach-dragon-fire{background-position:0 75%}.ach-shadow-lord{background-position:25% 75%}.ach-lucky-clover{background-position:50% 75%}.ach-drunkard{background-position:75% 75%}.ach-blood-dice{background-position:100% 75%}.ach-thousand-coins{background-position:0 100%}.ach-veteran{background-position:25% 100%}.ach-legendary-victory{background-position:50% 100%}.ach-cursed-dice{background-position:75% 100%}.ach-wise-man{background-position:100% 100%}#loginDialog .overlay-content{max-width:640px;position:relative}#loginDialog .back-btn{filter:hue-rotate(35deg);width:36px;height:36px;transform:scale(.8)}.login-dialog-title{color:var(--p-color-1);text-align:center;margin:0 0 8px;font-size:1.6em}.login-dialog-subtitle{color:#bbb;text-align:center;margin:0 0 24px;font-size:.95em}.login-dialog-actions{flex-direction:column;gap:10px;display:flex}.login-guest-btn{opacity:.8;margin-top:6px;font-size:.9em}.login-form{flex-direction:column;gap:14px;display:flex}.login-form-field{text-align:left;flex-direction:column;gap:5px;display:flex}.login-form-field label{color:#aaa;text-transform:uppercase;letter-spacing:.5px;font-size:.85em}.login-form-field input{box-sizing:border-box;color:#fff;background:#1c1c1c;border:1px solid #444;border-radius:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:1em;transition:border-color .2s}.login-form-field input:focus{border-color:var(--p-color-1);outline:none}.register-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.login-error{color:#f44336;background:#f443361a;border:1px solid #f443364d;border-radius:6px;padding:8px 12px;font-size:.88em}
