:root{color:#ffffffde;background-color:var(--bg);--bg:#1a1a1c;--bg-elevated:#242424;--felt:#1e4d3a;--felt-deep:#163828;--amber:#d4a017;--amber-soft:#e8c04a;--wine:#8b1e2d;--wine-deep:#5c1420;--cream:#f2e8d5;--surface:#2c2c30;--surface-hover:#36363c;--border-subtle:#f2e8d51f;--text-muted:#ffffff8c;font-family:Alatsi,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Avenir,Helvetica,Arial,sans-serif;font-size:1.8vh;line-height:1.5}body{width:100vw;height:100vh;height:100svh;overflow:hidden;background-color:var(--bg);height:100dvh;margin:0}div,section,header,main{display:flex;box-sizing:border-box;justify-content:flex-start;align-items: center}ul,li{box-sizing:border-box}button{cursor:pointer;border:none;border-radius:.4vh;padding:.5vh 1vw;font-family:Alatsi,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Avenir,Helvetica,Arial,sans-serif;font-size:2vh}button.validate{background-color:#08b808}button.validate:hover{background-color:green}button.validate:disabled{background-color:#006400}button.cancel{background-color:#d10c0c}button.cancel:hover{background-color:#5e0101}button.cancel:disabled{background-color:#8b0000}button:disabled{cursor:default}input,select{border:none;border-radius:.4vh;padding:.5vh .3vw}:is(input,select)[type=checkbox]{accent-color:#c462bb}select{background-color:#242424}select option{background-color:#242424}#App{position:relative;width:100vw;height:100vh;height:100svh;overflow:hidden;flex-direction:column;height:100dvh;padding:0}#App.is-mobile .appMobileTopOffset{height:calc(env(safe-area-inset-top,0px) + .5vh);flex-shrink:0;width:100%}#App #appContent{position:relative;overflow:hidden;flex-direction:column;justify-content:flex-start;width:100%;height:100%}@media (max-aspect-ratio:12/9){:root{font-size:1.6vh}#App:not(.is-mobile) #appContent{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);margin:0}#App.is-mobile #appContent{padding-top:0;padding-bottom:env(safe-area-inset-bottom);margin:0}}#Purple{flex-direction:column;flex:1;justify-content:flex-start;align-self:stretch;align-items:stretch;width:100%;height:100%;min-height:0}.gameSetup{position:relative;overflow-x:hidden;overflow-y:auto;background:radial-gradient(ellipse 70% 40% at 50% -8%,var(--felt-deep)0%,transparent 55%),var(--bg);flex-direction:column;flex:1;justify-content:flex-start;align-self:stretch;align-items:stretch;gap:2.4vh;width:100%;height:100%;min-height:0;padding:3vh 5vw 4vh}.gameSetupHero{flex-direction:row;flex-shrink:0;justify-content:space-between;align-items: flex-start;gap:3vw}.gameSetupHeroText{flex-direction:column;flex:1;align-items: flex-start;gap:.8vh;min-width:0}.gameSetupBack{color:var(--cream);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;opacity:.8;font-size:1.7vh}.gameSetupBack:hover{opacity:1}.gameSetupTitle{color:var(--amber);margin:0;font-size:4.6vh;font-weight:400;line-height:1.1}.gameSetupDescription{color:var(--text-muted);max-width:70ch;margin:0;font-size:2vh}.gameSetupRulesBtn{background:var(--surface);color:var(--cream);border:.15vh solid var(--border-subtle);flex-shrink:0;padding:1vh 1.8vw;font-size:1.8vh}.gameSetupRulesBtn:hover{background:var(--surface-hover)}.gameSetupPlayers,.gameSetupConfig{flex-direction:column;align-items:stretch;gap:1.4vh;width:100%;max-width:72rem;margin:0 auto}.gameSetupConfigFields{flex-direction:column;align-items:stretch;gap:1.2vh;width:100%}.gameSetupField{display:flex;background:var(--surface);border:.15vh solid var(--border-subtle);border-radius:1vh;flex-direction:row;justify-content:space-between;align-items: center;gap:3vw;width:100%;min-height:7vh;padding:1.2vh 1.6vw}.gameSetupFieldText{flex-direction:column;flex:1;align-items: flex-start;gap:.3vh;min-width:0}.gameSetupFieldLabel{color:#ffffffeb;font-size:2vh}.gameSetupFieldHint{color:var(--text-muted);font-size:1.5vh}.gameSetupFieldControl{flex-shrink:0;align-items: center}.gameSetupStepper{flex-direction:row;align-items: center;gap:.8vw}.gameSetupStepper button{background:var(--bg);color:var(--cream);border:.12vh solid var(--border-subtle);width:4.4vh;height:4.4vh;padding:0;font-size:2.4vh;line-height:1}.gameSetupStepper button:hover:not(:disabled){background:var(--surface-hover)}.gameSetupStepper button:disabled{opacity:.4}.gameSetupStepperValue{text-align:center;color:var(--amber);justify-content:center;min-width:4vh;font-size:2.4vh}.gameSetupSectionHead{flex-direction:row;justify-content:space-between;align-items:baseline;width:100%}.gameSetupSectionHead h2{letter-spacing:.06em;text-transform:uppercase;color:var(--cream);margin:0;font-size:2.2vh;font-weight:400}.gameSetupCount{color:var(--text-muted);font-size:1.7vh}.gameSetupEmpty{color:var(--text-muted);margin:0;font-size:1.8vh}.gameSetupPlayerList,.gameSetupPickList{display:flex;list-style:none;flex-direction:column;align-items:stretch;gap:1vh;width:100%;margin:0;padding:0}.gameSetupPickList{overflow-y:auto;flex:1;min-height:0}.gameSetupSearch{background:var(--surface);color:inherit;border:.15vh solid var(--border-subtle);border-radius:.6vh;flex-shrink:0;width:100%;padding:1.2vh 1.4vw;font-family:inherit;font-size:2vh}.gameSetupPlayerRow{display:flex;background:var(--surface);border:.15vh solid var(--border-subtle);border-radius:1vh;flex-direction:row;justify-content:space-between;align-items: center;gap:2vw;width:100%;min-height:5vh;padding:1vh 1.6vw}.gameSetupPlayerInfo{flex-direction:row;flex:1;align-items: center;gap:1.4vw;min-width:0}.gameSetupPlayerName{color:#ffffffeb;font-size:2.2vh}.gameSetupPlayerBadge{letter-spacing:.06em;text-transform:uppercase;border:.12vh solid var(--border-subtle);color:var(--text-muted);border-radius:.4vh;flex-shrink:0;padding:.3vh 1vw;font-size:1.4vh}.gameSetupPlayerBadge.source-saved{color:var(--cream);border-color:color-mix(in srgb,var(--cream)35%,transparent)}.gameSetupPlayerBadge.source-sso{color:var(--amber-soft);border-color:color-mix(in srgb,var(--amber)40%,transparent)}.gameSetupRemove{color:var(--text-muted);border:.12vh solid var(--border-subtle);background:0 0;padding:.6vh 1.2vw;font-size:1.5vh}.gameSetupRemove:hover{color:var(--cream);border-color:var(--wine)}.gameSetupManual{display:flex;flex-direction:row;align-items:stretch;gap:1vw;width:100%}.gameSetupManual input{background:var(--surface);color:inherit;border:.15vh solid var(--border-subtle);border-radius:.6vh;flex:1;min-width:0;padding:1.2vh 1.4vw;font-family:inherit;font-size:2vh}.gameSetupManual button{flex-shrink:0;padding:1.2vh 2vw}.gameSetupAddSources{flex-direction:row;align-items:stretch;gap:1.2vw;width:100%}.gameSetupAddSources button{display:flex;text-align:center;background:var(--surface);color:var(--cream);border:.15vh solid var(--border-subtle);flex:1;justify-content:center;align-items: center;padding:1.3vh 1.2vw;font-size:1.7vh}.gameSetupAddSources button:hover:not(:disabled){background:var(--surface-hover)}.gameSetupStart{display:flex;color:#fff;flex-direction:column;justify-content:center;align-items: center;gap:.3vh;width:100%;max-width:72rem;margin:1vh auto 0;padding:1.8vh 2vw;font-size:2.4vh}.gameSetupStartHint{letter-spacing:.08em;text-transform:uppercase;opacity:.85;font-size:1.5vh}.gameSetupOverlay{position:fixed;z-index:20;display:flex;background:#0000009e;justify-content:center;align-items: center;padding:4vh 4vw;inset:0}.gameSetupPanel{background:var(--bg-elevated);border:.15vh solid var(--border-subtle);overflow:hidden;border-radius:1.2vh;flex-direction:column;align-items:stretch;gap:1.6vh;width:min(92vw,56rem);max-height:80vh;padding:2.2vh 2.4vw}.gameSetupPanelHead{flex-direction:row;flex-shrink:0;justify-content:space-between;align-items: center;width:100%}.gameSetupPanelHead h2{color:var(--amber);margin:0;font-size:2.6vh;font-weight:400}.gameSetupPanelClose{background:var(--surface);color:inherit;border:.12vh solid var(--border-subtle);font-size:1.6vh}.gameSetupRulesText{overflow-y:auto;white-space:pre-wrap;color:#ffffffdb;flex:1;min-height:0;margin:0;font-family:inherit;font-size:1.9vh;line-height:1.45}.gameSetupPickItem{display:flex;background:var(--surface);color:inherit;border:.15vh solid var(--border-subtle);text-align:left;border-radius:.8vh;flex-direction:row;justify-content:space-between;align-items: center;width:100%;padding:1.4vh 1.6vw;font-size:2vh}.gameSetupPickItem:hover:not(:disabled){background:var(--surface-hover)}.gameSetupPickItem span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:1.4vh}@media (max-aspect-ratio:12/9){.gameSetup{padding:2.4vh 5vw 3vh}.gameSetupTitle{font-size:3.8vh}.gameSetupHero{flex-direction:column;align-items:stretch}.gameSetupRulesBtn{align-self: flex-end}}.card{display:flex;width:var(--cardSize);aspect-ratio:5/7;overflow:hidden;position:relative;z-index:5;--cardSize:8vw;--cardSmallSize:5vw;--cardIconSize:2.4vw;--cardFontSize:8vh;--cardSmallFontSize:4vh;--cardIconFontSize:2vh;--cornerOffset:1vh;background-color:#fff;border-radius:1.3vh;justify-content:center;align-items: center}.card.combi{border-radius:.4vh;margin:0 .3vh}.card.combi .topLeft{display:flex;font-weight:700;font-size:var(--cardFontSize);text-align:center;justify-content:center;align-items: center;width:100%;height:100%;top:0;left:0}.card.combi .bottomRight{display:none}.card.combi .center{display:none}.card.combi.small{margin:0 .5vh}.card.combi.small .topLeft{font-size:var(--cardSmallFontSize)}.card.red{color:red}.card.black{color:#000}.card .backcard{position:absolute;width:100%;height:100%;top:0;left:0}.card .underline{text-decoration:underline .5vh;text-underline-offset:.5vh}.card .corner{position:absolute;font-size:2vh;line-height:2vh}.card .corner span{display:block}.card .topLeft{left:var(--cornerOffset);top:var(--cornerOffset)}.card .bottomRight{right:var(--cornerOffset);bottom:var(--cornerOffset);transform:rotate(180deg)}.card .center{display:flex;text-align:center;font-size:var(--cardFontSize);justify-content:center;align-items: center;height:100%}.card.small{width:var(--cardSmallSize)}.card.small .center{font-size:var(--cardSmallFontSize)}.card.xsmall{width:var(--cardIconSize);border-radius:.3vh}.card.xsmall .corner{font-size:1.3vh}.card.xsmall .topLeft{top:-.2vh;left:.1vh}.card.xsmall .bottomRight{bottom:-.2vh;right:.1vh}.card.xsmall .center{font-size:var(--cardIconFontSize)}.card.xsmall.combi .topLeft{font-size:2vh}@media (max-aspect-ratio:12/9){.card{--cardSize:24vw;--cardSmallSize:16vw;--cardIconSize:8vw;--cardFontSize:3.6vh;--cardSmallFontSize:2.2vh;--cardIconFontSize:1.4vh;--cornerOffset:.4vh;border-radius:.6vh}.card .corner{font-size:1.6vh}}.cardPile{--pileCardSize:8vw;position:relative;pointer-events:none;flex-shrink:0}.cardPile.small{--pileCardSize:5vw}.cardPile.row{display:flex;flex-flow:wrap;justify-content:center;align-items: center;gap:1.2vh 1.6vw;width:100%;height:auto}.cardPile.row .cardPileItem{position:relative;flex-shrink:0;transform:none}.cardPile.row .card{width:var(--pileCardSize)}.cardPileItem{position:absolute;display:flex;top:0;left:0}.cardPileItem .card{z-index:auto}@media (max-aspect-ratio:12/9){.cardPile{--pileCardSize:24vw}.cardPile.small{--pileCardSize:16vw}.cardPile.row{--pileCardSize:15vw;gap:1.2vh 1.6vw}}.lapocheSipOverlay{position:fixed;z-index:40;display:flex;background:#0000009e;justify-content:center;align-items: center;padding:4vh 4vw;inset:0}.lapocheSipPanel{background:var(--bg-elevated);border:.15vh solid var(--border-subtle);border-radius:1.2vh;flex-direction:column;align-items:stretch;gap:1.6vh;width:min(92vw,42rem);padding:2.2vh 2.4vw}.lapocheSipHead{flex-direction:row;justify-content:space-between;align-items: center;width:100%}.lapocheSipHead h2{color:var(--amber);margin:0;font-size:2.6vh;font-weight:400}.lapocheSipClose{background:var(--surface);color:inherit;border:.12vh solid var(--border-subtle);font-size:1.6vh}.lapocheSipHint{color:var(--text-muted);margin:0;font-size:1.7vh}.lapocheSipForm{display:flex;flex-direction:column;align-items:stretch;gap:1.2vh;width:100%}.lapocheSipForm label{display:flex;color:var(--text-muted);flex-direction:column;align-items:stretch;gap:.5vh;font-size:1.6vh}.lapocheSipForm input{background:var(--surface);color:inherit;border:.15vh solid var(--border-subtle);border-radius:.6vh;padding:1.2vh 1.4vw;font-family:inherit;font-size:2vh}.lapocheSipForm button.validate{color:#fff;width:100%;padding:1.3vh 1.4vw}#PurpleGame{background:radial-gradient(ellipse 70% 50% at 50% 0%,var(--felt-deep)0%,transparent 55%),var(--bg);flex-direction:column;flex:1;justify-content:flex-start;align-self:stretch;align-items:stretch;gap:1.6vh;width:100%;height:100%;min-height:0;padding:2vh 4vw 2.4vh}.purpleHud{flex-direction:row;flex-shrink:0;justify-content:space-between;align-items: center;width:100%}.purpleHudPlayer{flex-direction:column;align-items: flex-start;gap:.2vh}.purpleHudLabel{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:1.5vh}.purpleHudName{display:flex;color:var(--amber);flex-direction:row;align-items: center;gap:1.2vw;font-size:3.2vh;line-height:1.1}.purpleHudBadge{display:inline-flex;color:var(--cream);background:var(--wine);border-radius:.8vh;flex-shrink:0;align-items: center;padding:.25vh .6vw;font-size:1.8vh;line-height:1.2}.purpleHudStreak{color:var(--cream);border:.15vh solid var(--border-subtle);background:var(--surface);border-radius:.8vh;padding:.6vh 1.4vw;font-size:2.4vh}.purpleHudRight{flex-direction:row;align-items: center;gap:1.2vw}.purpleStatsBtn{background:var(--surface);color:var(--cream);border:.15vh solid var(--border-subtle);padding:.6vh 1.4vw;font-size:1.7vh}.purpleStatsBtn:hover{background:var(--surface-hover)}.purpleTable{background:radial-gradient(ellipse 60% 70% at 50% 50%,var(--felt)0%,var(--felt-deep)70%);border:.15vh solid var(--border-subtle);overflow:hidden;border-radius:1.4vh;flex:1;justify-content:center;align-items: center;width:100%;min-height:0;padding:2vh 2vw}.purpleTableBoard{flex-direction:row;justify-content:center;align-items: center;gap:3vw;width:100%;min-width:0}.purpleTableStack{flex-shrink:0;justify-content:center;align-items: center}.purpleTableDraw{flex:1;justify-content:center;align-items: center;min-width:0}.purpleEmptyPile{opacity:.55;flex-direction:column;align-items: center;gap:1.2vh}.purpleEmptyPile span{letter-spacing:.08em;text-transform:uppercase;color:var(--cream);font-size:1.6vh}.purpleActions{display:grid;grid-template-columns:repeat(5,1fr);flex-shrink:0;justify-content:stretch;align-items:stretch;gap:1vh 1vw;width:100%}.purpleAction{background:var(--surface);color:var(--cream);border:.15vh solid var(--border-subtle);min-height:6.2vh;padding:.8vh .4vw;font-size:1.6vh}.purpleAction:hover:not(:disabled){background:var(--surface-hover)}.purpleAction:disabled{opacity:.35}.purpleAction-red{color:#e25b5b}.purpleAction-black{color:#d8d8d8}.purpleAction-purple1,.purpleAction-purple2,.purpleAction-purple3{color:var(--amber-soft)}.purpleFooter{flex-direction:row;flex-shrink:0;gap:1.2vw;width:100%}.purplePass{color:#fff;flex:1;padding:1.4vh 2vw;font-size:2.2vh}.purplePass:disabled{opacity:.45}.purpleEnd{color:#fff;flex-shrink:0;padding:1.4vh 2vw;font-size:1.8vh}.purpleConfirm{position:fixed;z-index:32;background:#0000009e;justify-content:center;align-items: center;padding:4vh 4vw;inset:0}.purpleConfirmPanel{background:var(--bg-elevated);border:.15vh solid var(--border-subtle);border-radius:1.2vh;flex-direction:column;align-items:stretch;gap:1.4vh;width:min(92vw,42rem);max-height:80vh;padding:2.4vh 2.4vw}.purpleConfirmPanel h2{color:var(--amber);margin:0;font-size:2.8vh;font-weight:400}.purpleConfirmHead{flex-direction:row;justify-content:space-between;align-items: center;width:100%}.purpleStatsClose{background:var(--surface);color:inherit;border:.12vh solid var(--border-subtle);font-size:1.6vh}.purpleRulesText{overflow-y:auto;white-space:pre-wrap;color:#ffffffdb;flex:1;min-height:0;margin:0;font-family:inherit;font-size:1.9vh;line-height:1.45}.purpleStatsList{display:flex;list-style:none;overflow-y:auto;flex-direction:column;align-items:stretch;gap:1vh;width:100%;max-height:80vh;margin:0;padding:0}.purpleStatsRow{display:flex;background:var(--surface);border:.15vh solid var(--border-subtle);border-radius:.8vh;flex-direction:row;justify-content:space-between;align-items: center;gap:2vw;width:100%;padding:1.2vh 1.4vw}.purpleStatsName{color:#ffffffeb;font-size:2.1vh}.purpleStatsValues{display:flex;color:var(--text-muted);letter-spacing:.04em;flex-direction:column;align-items: flex-end;gap:.2vh;font-size:1.5vh}.purpleConfirmPanel p{color:var(--text-muted);margin:0;font-size:1.9vh}.purpleConfirmActions{flex-direction:row;gap:1.2vw;width:100%;margin-top:.6vh}.purpleConfirmActions button{background:var(--surface);color:inherit;border:.12vh solid var(--border-subtle);flex:1;padding:1.2vh 1.4vw}.purpleDrink{position:fixed;z-index:30;cursor:pointer;background:#000000b8;flex-direction:column;justify-content:center;align-items: center;gap:.6vh;inset:0}.purpleDrinkCount{color:var(--amber);font-size:14vh;line-height:1}.purpleDrinkLabel{letter-spacing:.12em;text-transform:uppercase;color:var(--cream);font-size:3.4vh}.purpleDrinkHint{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:1.6vh;font-size:1.6vh}.purpleLapocheBtn{background:var(--surface);color:var(--cream);border:.15vh solid var(--border-subtle);border-radius:.8vh;margin-top:2vh;padding:1.1vh 2.4vw;font-size:1.8vh}.purpleLapocheBtn:hover{background:var(--surface-hover)}.purpleHandoffName{color:var(--amber);text-align:center;word-break:break-word;max-width:90vw;font-size:8vh;line-height:1.05}@media (max-aspect-ratio:12/9){.purpleActions{grid-template-columns:repeat(2,1fr)}.purpleHudName{font-size:2.8vh}.purpleHudBadge{padding:.3vh 2vw}}.homeAuthBtn{position:absolute;z-index:4;background:var(--surface);color:var(--cream);border:.15vh solid var(--border-subtle);letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:.8vh;max-width:42vw;padding:.9vh 1.6vw;font-size:1.7vh;top:1.6vh;right:3vw}.homeAuthBtn:hover{background:var(--surface-hover)}.homeAuthOverlay{position:fixed;z-index:20;display:flex;background:#0000009e;justify-content:center;align-items: center;padding:4vh 4vw;inset:0}.homeAuthPanel{background:var(--bg-elevated);border:.15vh solid var(--border-subtle);border-radius:1.2vh;flex-direction:column;align-items:stretch;gap:1.6vh;width:min(92vw,42rem);padding:2.2vh 2.4vw}.homeAuthPanelHead{flex-direction:row;justify-content:space-between;align-items: center;width:100%}.homeAuthPanelHead h2{color:var(--amber);margin:0;font-size:2.6vh;font-weight:400}.homeAuthClose{background:var(--surface);color:inherit;border:.12vh solid var(--border-subtle);font-size:1.6vh}.homeAuthTabs{flex-direction:row;gap:1vw;width:100%}.homeAuthTabs button{background:var(--surface);color:var(--text-muted);border:.15vh solid var(--border-subtle);flex:1;padding:1vh 1.2vw;font-size:1.6vh}.homeAuthTabs button.is-active{color:var(--cream);border-color:color-mix(in srgb,var(--amber)40%,transparent)}.homeAuthForm{display:flex;flex-direction:column;align-items:stretch;gap:1.2vh;width:100%}.homeAuthForm input{background:var(--surface);color:inherit;border:.15vh solid var(--border-subtle);border-radius:.6vh;padding:1.2vh 1.4vw;font-family:inherit;font-size:2vh}.homeAuthForm button:not(.homeAuthSwitch),.homeAuthLogout{color:#fff;width:100%;padding:1.3vh 1.4vw}.homeAuthSwitch{color:var(--cream);border:.12vh solid var(--border-subtle);background:0 0;width:100%;padding:1vh 1.2vw;font-size:1.6vh}.homeAuthSwitch:hover{background:var(--surface)}.homeAuthPref{display:flex;color:var(--text-muted);flex-direction:column;align-items:stretch;gap:.5vh;width:100%;font-size:1.6vh}.homeAuthPref input{background:var(--surface);color:inherit;border:.15vh solid var(--border-subtle);border-radius:.6vh;padding:1.2vh 1.4vw;font-family:inherit;font-size:2vh}#HomePage{position:relative;overflow-x:hidden;overflow-y:auto;background:radial-gradient(ellipse 80% 50% at 50% -10%,var(--felt-deep)0%,transparent 55%),radial-gradient(ellipse 60% 40% at 100% 30%,#8b1e2d2e 0%,transparent 50%),radial-gradient(ellipse 50% 35% at 0% 60%,#d4a01714 0%,transparent 45%),var(--bg);flex-direction:column;flex:1;justify-content:flex-start;align-self:stretch;align-items:stretch;gap:2vh;width:100%;height:100%;min-height:0;padding:2vh 4vw}.homeDecor{position:absolute;pointer-events:none;overflow:hidden;z-index:0;opacity:.55;inset:0}.homeDecorItem{position:absolute;width:14vw;min-width:7rem;max-width:11rem}.homeDecorDice{animation:7s ease-in-out infinite homeFloat;width:16vw;top:4vh;right:2vw}.homeDecorBottle{animation:9s ease-in-out 1s infinite homeFloat;opacity:.7;width:8vw;min-width:4rem;max-width:6rem;bottom:18vh;left:-1vw}.homeDecorGlass{animation:8s ease-in-out .5s infinite homeFloat;opacity:.65;width:10vw;min-width:5rem;max-width:7rem;top:22vh;left:3vw}.homeDecorCard{animation:6.5s ease-in-out 1.5s infinite homeFloat;filter:drop-shadow(0 .6vh 1vh #00000059);width:9vw;min-width:4.5rem;max-width:6.5rem;bottom:8vh;right:4vw;transform:rotate(12deg)}@keyframes homeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-1.2vh)}}.homeDecorCard{animation-name:homeFloatCard}@keyframes homeFloatCard{0%,to{transform:rotate(12deg)translateY(0)}50%{transform:rotate(12deg)translateY(-1.2vh)}}.homeHero{position:relative;z-index:1;display:flex;flex-direction:column;flex-shrink:0;justify-content:center;align-items: center;gap:1.2vh;width:100%;padding:4vh 0 2vh}.homeLogo{position:relative;border:.2vh solid var(--border-subtle);background:linear-gradient(145deg,var(--surface)0%,var(--felt-deep)100%);overflow:hidden;border-radius:1.6vh;flex-shrink:0;justify-content:center;align-items: center;width:14vh;min-width:5.5rem;height:14vh;min-height:5.5rem}.homeLogoImg{object-fit:contain;display:block;width:100%;height:100%}.homeTitle{letter-spacing:.04em;color:var(--amber);text-shadow:0 .4vh 0 var(--felt-deep);margin:0;font-size:7.5vh;font-weight:400;line-height:1}.homeTagline{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:2.2vh}.homeGames{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;align-items:stretch;gap:1.6vh;width:100%;max-width:96rem;margin:0 auto;padding-bottom:2vh}.homeGamesHeading{color:var(--cream);letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin:0;padding:0 .4vw;font-size:2.4vh;font-weight:400}.homeGamesGrid{display:grid;grid-template-columns:1fr;justify-content:stretch;align-items:stretch;gap:1.6vh 1.6vw;width:100%}.homeGameTile{display:flex;border:.15vh solid var(--border-subtle);background:var(--surface);color:inherit;font-family:inherit;font-size:inherit;text-align:left;text-decoration:none;opacity:.92;position:relative;overflow:hidden;box-sizing:border-box;border-radius:1.2vh;flex-direction:row;justify-content:flex-start;align-items: center;gap:2.4vw;width:100%;min-height:13vh;padding:1.8vh 2.4vw;transition:background .15s,border-color .15s}.homeGameTile:before{content:"";position:absolute;background:var(--tile-accent,var(--amber));width:.6vh;top:0;bottom:0;left:0}.homeGameTile.accent-felt{--tile-accent:var(--felt)}.homeGameTile.accent-amber{--tile-accent:var(--amber)}.homeGameTile.accent-wine{--tile-accent:var(--wine)}.homeGameTile.accent-cream{--tile-accent:var(--cream)}.homeGameTile.is-soon{cursor:not-allowed}.homeGameTile:disabled{cursor:not-allowed}.homeGameTile.is-available{cursor:pointer;opacity:1}.homeGameTile.is-available:hover{background:var(--surface-hover);border-color:color-mix(in srgb,var(--tile-accent,var(--amber))35%,var(--border-subtle))}.homeGameTileIcon{background:color-mix(in srgb,var(--tile-accent,var(--amber))22%,var(--bg));border:.15vh solid color-mix(in srgb,var(--tile-accent,var(--amber))40%,transparent);border-radius:1vh;flex-shrink:0;justify-content:center;align-items: center;width:8vh;min-width:3.2rem;height:8vh;min-height:3.2rem}.homeGameTileIcon span{color:var(--tile-accent,var(--amber));font-size:3vh;line-height:1}.homeGameTileBody{flex-direction:column;flex:1;justify-content:center;align-items: flex-start;gap:.4vh;min-width:0}.homeGameTileName{color:#ffffffeb;font-size:2.8vh;line-height:1.15}.homeGameTileTag{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:1.7vh}.homeGameTileSoon{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;border:.12vh solid var(--border-subtle);border-radius:.5vh;flex-shrink:0;padding:.6vh 1.2vw;font-size:1.5vh}.homePlayersBtn{position:sticky;display:flex;z-index:2;text-decoration:none;color:var(--cream);background:var(--surface);border:.15vh solid var(--border-subtle);letter-spacing:.08em;text-transform:uppercase;border-radius:1.2vh;flex-direction:row;justify-content:center;align-self: center;align-items: center;gap:1vw;margin-top:auto;padding:1.2vh 1vw;font-family:inherit;font-size:1.7vh;bottom:1.6vh;box-shadow:0 .6vh 1.6vh #00000059}.homePlayersBtn:hover{background:var(--surface-hover)}.homePlayersBtnIcon{object-fit:contain;display:block;flex-shrink:0;width:3.2vh;height:3.2vh}@media (min-aspect-ratio:12/9){.homeGamesGrid{grid-template-columns:1fr 1fr}.homeDecorDice{width:11vw}.homeTitle{font-size:8vh}}@media (min-width:1100px){.homeGamesGrid{grid-template-columns:1fr 1fr 1fr}#HomePage{padding:3vh 5vw 2vh}}@media (max-aspect-ratio:12/9){.homeLogo{width:12vh;height:12vh}.homeTitle{font-size:6.5vh}.homeGameTile{min-height:12vh}.homeDecorGlass{opacity:.4}.homeDecorBottle{opacity:.45}}.dice{display:flex;width:var(--diceSize);aspect-ratio:1;position:relative;z-index:5;--diceSize:9vh;--pipSize:1.5vh;background:linear-gradient(145deg,#fff 0%,#e8e4dc 100%);border-radius:1.2vh;flex-shrink:0;justify-content:center;align-items: center;box-shadow:0 .4vh .8vh #00000059,inset 0 -.2vh .4vh #00000014}.dice.rolling{animation:.7s ease-in-out diceRoll}.diceFace{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items: center;gap:0;width:78%;height:78%}.dicePip{width:var(--pipSize);height:var(--pipSize);background:0 0;border-radius:50%}.dicePip.on{background:#1a1a1c;box-shadow:inset 0 .15vh .2vh #ffffff26}@keyframes diceRoll{0%{transform:rotate(0)scale(1)}20%{transform:rotate(-25deg)scale(1.05)}40%{transform:rotate(35deg)scale(.95)}60%{transform:rotate(-30deg)scale(1.08)}80%{transform:rotate(20deg)scale(.98)}to{transform:rotate(0)scale(1)}}#PlayersPage{position:relative;overflow-x:hidden;overflow-y:auto;background:radial-gradient(ellipse 70% 40% at 50% -8%,var(--felt-deep)0%,transparent 55%),var(--bg);flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;gap:2vh;height:100%;min-height:0;padding:3vh 5vw 4vh}.playersHeader{flex-direction:column;flex-shrink:0;align-items: flex-start;gap:.8vh}.playersBack{color:var(--cream);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;opacity:.8;font-size:1.7vh}.playersBack:hover{opacity:1}.playersTitle{color:var(--amber);margin:0;font-size:4.2vh;font-weight:400;line-height:1.1}.playersHint{color:var(--text-muted);max-width:70ch;margin:0;font-size:1.8vh}.playersSelf{flex-direction:column;align-items:stretch;gap:1vh;width:100%;max-width:72rem}.playersSectionTitle{letter-spacing:.08em;text-transform:uppercase;color:var(--cream);margin:0;font-size:2vh;font-weight:400}.playersPersonalInput{color:inherit;background:0 0;border:.12vh solid #0000;border-radius:.4vh;flex:1;min-width:0;padding:.4vh .6vw;font-family:inherit;font-size:2.2vh}.playersPersonalInput:focus{outline:none;border-color:var(--amber)}.playersBadge{letter-spacing:.06em;text-transform:uppercase;border:.12vh solid color-mix(in srgb,var(--amber)40%,transparent);color:var(--amber-soft);border-radius:.4vh;flex-shrink:0;padding:.3vh 1vw;font-size:1.4vh}.playersRow.is-personal{border-color:color-mix(in srgb,var(--amber)28%,var(--border-subtle))}.playersAdd{display:flex;flex-direction:row;align-items:stretch;gap:1vw;width:100%;max-width:72rem}.playersAdd input{background:var(--surface);color:inherit;border:.15vh solid var(--border-subtle);border-radius:.6vh;flex:1;min-width:0;padding:1.2vh 1.4vw;font-family:inherit;font-size:2vh}.playersAdd button{flex-shrink:0;padding:1.2vh 2vw}.playersEmpty{color:var(--text-muted);margin:0;font-size:1.8vh}.playersList{display:flex;list-style:none;flex-direction:column;align-items:stretch;gap:1vh;width:100%;max-width:72rem;margin:0;padding:0}.playersRow{display:flex;background:var(--surface);border:.15vh solid var(--border-subtle);border-radius:1vh;flex-direction:row;justify-content:space-between;align-items: center;gap:2vw;width:100%;min-height:6vh;padding:1.2vh 1.6vw}.playersName{color:#ffffffeb;font-size:2.2vh}.playersRemove{color:var(--text-muted);border:.12vh solid var(--border-subtle);background:0 0;padding:.6vh 1.2vw;font-size:1.5vh}.playersRemove:hover{color:var(--cream);border-color:var(--wine)}
