@font-face{font-family:ArcadeDisplay;src:url('/assets/arcade-display.woff') format('woff');font-weight:400 900;font-display:swap}
/* Selected visual target: design-proposals/01-arcade.png. */
:root{--bg:#0b100b;--surface:#152011;--surface2:#23331a;--line:#3a4a2e;--text:#fffde9;--muted:#a6b09c;--lime:#d5ff66;background:var(--bg)}
.game-app{max-width:1440px;min-height:540px;overflow:hidden;background:var(--bg)}
.app-header{min-height:76px;padding:0 26px;border-bottom:0;z-index:5;flex-shrink:0}
.brand{font-size:25px;gap:11px;letter-spacing:-1px;font-weight:850}.brand-mark{width:39px;height:39px;border-radius:12px;box-shadow:0 0 15px #b3ff362e;transform:rotate(-10deg)}.brand-mark img{width:29px;height:29px}.brand small{font-size:7px;letter-spacing:2.6px;color:#b8bfb1;margin-top:6px}.motion-toggle{font-size:11px;min-height:33px;gap:6px;padding:7px 12px;border:1px solid #3d4c2a;border-radius:22px;background:#151c10}.motion-status{width:7px;height:7px}.motion-toggle #motion-label{color:var(--lime);font-weight:650}
.lobby-main{padding:0;isolation:isolate}.carousel-shell{margin:0 auto;max-width:1100px;width:100%;flex:1;min-height:0}.game-carousel{--slide:340px;align-items:stretch;gap:18px;padding:16px calc((100% - var(--slide))/2) 8px;scroll-padding-inline:calc((100% - var(--slide))/2);position:relative;overflow-y:hidden}
.game-slide{border:0;border-radius:28px;background:transparent;overflow:visible;flex:0 0 var(--slide);width:var(--slide);min-width:var(--slide);height:100%;position:relative;opacity:.5;transform:scale(.88) rotate(4deg);transition:transform .45s cubic-bezier(.18,.82,.2,1),opacity .35s;z-index:1;contain:layout style}
.game-slide.active{border:0;opacity:1;transform:rotate(-1.5deg) scale(1);z-index:3}.slide-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none;z-index:-1}
.slide-art{position:absolute;top:-1%;left:-13%;width:126%;height:67%;max-height:none;min-height:0;margin:0;overflow:visible;display:flex;justify-content:center;align-items:center;z-index:1;pointer-events:none;perspective:1000px}.slide-art>img{width:100%;height:100%;max-height:none;max-width:none;object-fit:contain;transform-origin:52% 55%;pointer-events:none;user-select:none}.slide-art.dice-variant>img{transform:rotate(15deg) scale(.96)}.game-slide:not(.active) .slide-art{top:5%;height:59%}
.slide-content{position:absolute;left:10%;right:9%;bottom:6%;padding:0;z-index:2;flex-shrink:0}.game-label{font-size:12px!important;font-weight:700!important;letter-spacing:.3px!important;color:var(--lime)!important;margin:0 0 9px!important}.slide-content h2{font-family:'ArcadeDisplay','PingFang SC',sans-serif;font-size:64px;font-weight:900;letter-spacing:-2px;line-height:1.03;margin:0 0 14px;color:#fffde9;white-space:nowrap;text-shadow:1px 2px 0 #dfdfc927;transform:rotate(1deg)}.game-slide[data-game='highcard'] h2,.game-slide[data-game='dice'] h2{font-size:43px;letter-spacing:-1px}.game-slide[data-game='rps'] h2{font-size:43px;letter-spacing:-1px}.slide-desc{font-size:12px;line-height:1.55;color:#c1c7bb;min-height:38px;margin:0 0 13px;letter-spacing:0}
.slide-bottom{display:flex;align-items:center;justify-content:flex-start;gap:9px;border-top:1px solid #3b4b2c;padding-top:11px}.slide-bottom>span{display:flex;align-items:center;gap:6px;white-space:nowrap;background:#182014b3;border:1px solid #425532;border-radius:20px;font-size:12px;color:#dbdfd4;padding:6px 10px;line-height:1;min-height:31px}.slide-bottom>span img{width:17px;height:17px;filter:invert(90%)}.slide-bottom button{display:flex;align-items:center;gap:6px;border:1px solid #425532;border-radius:20px;padding:5px 10px;background:#182014a1;color:var(--lime);font-size:12px;min-height:31px}.slide-bottom button img{width:16px;height:16px;filter:invert(88%)}.slide-bottom button img:last-child{width:13px;filter:invert(89%) sepia(57%) saturate(573%) hue-rotate(21deg)}
.carousel-arrow{top:46%;background:#213116c9;width:40px;height:40px;border-color:#5d7638}.carousel-arrow.prev{left:calc(50% - 224px)}.carousel-arrow.next{right:calc(50% - 224px)}
.selection-footer{width:340px;max-width:calc(100% - 46px);margin:0 auto;padding:0 0 12px;z-index:4}.carousel-dots{height:27px;margin:0 0 9px;gap:4px}.carousel-dots button{width:24px;height:24px}.carousel-dots button:after{width:6px;height:6px;background:#4b5e35}.carousel-dots button[aria-pressed=true]{width:24px}.carousel-dots button[aria-pressed=true]:after{width:23px;height:7px;background:var(--lime);box-shadow:0 0 8px #b0ff3c26}.lobby-actions{gap:10px}
#create-room{position:relative;border:0;background:transparent url('/assets/arcade-button.webp') center/100% 100% no-repeat;box-shadow:none;color:#101806;min-height:74px;padding:16px 25px 22px;border-radius:29px;font-size:23px;letter-spacing:-.5px;font-weight:850;isolation:isolate;transition:transform .15s cubic-bezier(.2,.8,.2,1)}#create-room:hover{background-color:transparent;transform:translateY(-2px)}#create-room:active{transform:translateY(3px) scale(.98)}#create-room>img{width:28px;height:28px;filter:none}#create-room>span{flex:1}#create-room>img:first-child,#create-room>img:last-child{margin:0}
#join-room{border:1px solid #506137;border-radius:25px;background:#12190ee6;min-height:43px;padding:10px 17px;max-width:250px;align-self:center;width:100%;font-size:14px;font-weight:600;color:#e2e7da;gap:12px}#join-room>img{width:20px;height:20px;filter:invert(91%)}#join-room:hover{background:#26351d}.party-note{display:none}.resume-button{font-size:9px;margin:0 auto;padding:4px 6px;color:var(--lime);min-height:21px}.lobby-main:has(.resume-button:not([hidden])) .selection-footer{padding-bottom:4px}.lobby-main:has(.resume-button:not([hidden])) .lobby-actions{gap:6px}
.bottom-nav{min-height:74px;border-top:1px solid #344328;background:#0c120b;gap:0;justify-content:space-around;padding:4px 12px max(4px,env(safe-area-inset-bottom));z-index:5}.bottom-nav button{flex:1;max-width:200px;flex-direction:column;gap:6px;padding:10px 9px 7px;font-size:12px;min-height:62px;color:#9b9f97}.bottom-nav button>img{width:25px;height:25px;opacity:.9;filter:invert(75%)}.bottom-nav button.nav-active{color:var(--lime);font-weight:600}.bottom-nav button.nav-active:after{width:20px;height:3px;top:3px}.bottom-nav button>small{display:none}
.sheet,.detail-dialog{background:#10180e;border-color:#465b31}.sheet-header p,.detail-category{color:var(--lime)}.button.primary{background-color:var(--lime);color:#111907;border-color:var(--lime);box-shadow:0 4px 0 #75962f;border-radius:15px}.detail-header h2{font-family:'ArcadeDisplay','PingFang SC',sans-serif}.sheet-header h2{font-size:27px}.catalog-card{background:#192512;border-color:#35482a}.catalog-card-title h3{font-size:16px}.catalog-card>p{font-size:12px}.catalog-meta{font-size:10px}.catalog-card>button{font-size:12px;min-height:36px}.tools-grid>button{background:#1b2a15;border-radius:16px}.tool-title{font-family:'ArcadeDisplay','PingFang SC',sans-serif}#room-overlay{background:#0b100b}
@media(min-width:900px){.app-header{padding:0 48px;min-height:84px}.brand{font-size:26px}.brand-mark{width:43px;height:43px}.brand small{font-size:8px}.game-carousel{--slide:340px;padding-top:16px}.selection-footer{padding-bottom:13px}.bottom-nav{min-height:76px;justify-content:center;gap:65px}.bottom-nav button{flex:0 1 130px}.game-slide:not(.active){transform:scale(.87) rotate(4deg)}}
@media(min-width:900px) and (min-height:850px){.game-carousel{--slide:370px}.slide-content h2{font-size:73px}.slide-content{bottom:7%}.slide-desc{font-size:14px;min-height:44px}.game-label{font-size:13px!important}.slide-bottom>span,.slide-bottom button{font-size:14px;min-height:36px}.selection-footer{width:370px}.carousel-arrow.prev{left:calc(50% - 242px)}.carousel-arrow.next{right:calc(50% - 242px)}}
@media(max-width:760px){.game-app{min-height:540px}.app-header{padding:0 23px;min-height:73px}.brand{font-size:24px;gap:10px}.brand-mark{width:39px;height:39px}.brand small{font-size:7px;letter-spacing:2px}.motion-toggle{font-size:11px;min-height:32px;gap:5px;padding:7px 11px}.motion-status{width:7px;height:7px}.lobby-main{padding:0}.game-carousel{--slide:min(calc(100vw - 72px),370px);gap:17px;padding-top:15px;padding-bottom:7px}.game-slide{border-radius:28px}.slide-content{left:10%;right:9%;bottom:6%}.slide-art{height:66%;left:-14%;width:128%;top:-1%}.slide-content h2{font-size:61px;margin-bottom:13px;line-height:1.03;letter-spacing:-2px}.game-slide[data-game='highcard'] h2,.game-slide[data-game='dice'] h2,.game-slide[data-game='rps'] h2{font-size:41px;letter-spacing:-1px}.game-label{font-size:11px!important;margin-bottom:8px!important}.slide-desc{font-size:12px;line-height:1.55;min-height:37px;margin-bottom:12px}.slide-bottom{padding-top:10px;gap:8px}.slide-bottom>span{font-size:12px;padding:6px 9px;min-height:29px}.slide-bottom button{font-size:12px;padding:5px 9px;min-height:29px}.slide-bottom>span img{width:16px;height:16px}.slide-bottom button img{width:16px;height:16px}.carousel-arrow{display:none}.selection-footer{width:calc(100% - 46px);max-width:370px;padding-bottom:13px}.carousel-dots{height:27px;margin-bottom:9px;gap:4px}.carousel-dots button{height:24px}.lobby-actions{gap:9px}#create-room{min-height:75px;padding:17px 25px 22px;font-size:23px;border-radius:30px}#create-room>img{width:27px;height:27px}#join-room{min-height:43px;font-size:14px;max-width:250px;padding:9px 15px}.bottom-nav{min-height:74px;padding-top:3px}.bottom-nav button{font-size:12px;gap:6px;min-height:64px;padding:10px 8px 6px}.bottom-nav button>img{width:25px;height:25px}.bottom-nav button.nav-active:after{top:2px}.catalog-card>p{font-size:11px}.catalog-card-title h3{font-size:15px}.catalog-card>button{font-size:11px}.sheet-header h2{font-size:26px}}
@media(max-height:740px){.app-header{min-height:62px}.brand{font-size:21px}.brand-mark{width:34px;height:34px}.brand-mark img{width:26px;height:26px}.brand small{font-size:6px}.motion-toggle{font-size:10px;min-height:29px}.game-carousel{padding-top:12px;padding-bottom:4px;--slide:min(calc(100vw - 85px),320px)}.slide-art{height:63%;top:-2%}.slide-content{bottom:6%;left:10%;right:9%}.slide-content h2{font-size:49px;margin-bottom:9px}.game-slide[data-game='highcard'] h2,.game-slide[data-game='dice'] h2,.game-slide[data-game='rps'] h2{font-size:34px}.game-label{font-size:10px!important;margin-bottom:5px!important}.slide-desc{font-size:10px;min-height:31px;margin-bottom:9px}.slide-bottom{padding-top:7px;gap:7px}.slide-bottom>span,.slide-bottom button{font-size:10px;min-height:26px;padding:4px 8px}.slide-bottom>span img,.slide-bottom button img{width:14px;height:14px}.selection-footer{padding-bottom:9px;width:calc(100% - 46px);max-width:340px}.carousel-dots{height:22px;margin-bottom:5px}#create-room{min-height:62px;font-size:20px;padding:12px 22px 17px}#create-room>img{width:24px;height:24px}#join-room{min-height:37px;font-size:12px;padding:8px}.lobby-actions{gap:7px}.bottom-nav{min-height:62px}.bottom-nav button{min-height:56px;font-size:10px;gap:5px;padding:8px 8px 5px}.bottom-nav button>img{width:22px;height:22px}}
@media(max-height:610px){.app-header{min-height:54px}.brand{font-size:19px}.brand-mark{width:30px;height:30px}.brand small{display:none}.game-carousel{padding-top:8px;--slide:min(calc(100vw - 95px),280px)}.slide-art{height:60%;top:-4%}.slide-content h2{font-size:41px}.game-slide[data-game='highcard'] h2,.game-slide[data-game='dice'] h2,.game-slide[data-game='rps'] h2{font-size:29px}.slide-desc{font-size:9px;min-height:27px;margin-bottom:6px}.game-label{font-size:9px!important;margin-bottom:4px!important}.slide-bottom>span,.slide-bottom button{font-size:9px;min-height:23px}.slide-bottom{padding-top:5px}#create-room{min-height:53px;font-size:18px;padding:10px 20px 15px}#join-room{min-height:32px;font-size:11px}.selection-footer{padding-bottom:6px}.carousel-dots{height:18px;margin-bottom:4px}.lobby-actions{gap:5px}.bottom-nav{min-height:54px}.bottom-nav button{min-height:48px;font-size:9px;gap:4px}.bottom-nav button>img{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.game-slide{transition:none}#create-room{transition:none}}
/* A native, stateful button keeps its label crisp at every display density. */
#create-room{background-image:none;background-color:#d5ff66;box-shadow:inset 0 3px 3px #f5ffce,inset 0 -7px 1px #95b93c,0 0 21px #b5ff3c24,0 2px 0 #627d2b;border:1px solid #e4ff9b;border-radius:34px}
#create-room:hover{background-color:#dcff86}#create-room:active{box-shadow:inset 0 2px 2px #f5ffce,inset 0 -3px 0 #95b93c,0 0 15px #b5ff3c18}

.game-slide.frame-fallback{background:#10180d;border:3px solid #bbdf57;box-shadow:inset 0 0 0 2px #475e1d,0 0 18px #aaff1f13}

/* Native game-card surface remains available while optional art is produced. */
.game-slide{background:#10180d;border:3px solid #c5eb5c;border-radius:29px;box-shadow:inset 0 0 0 2px #526d24,inset 0 4px 2px #ebff9f66,0 0 19px #9cff3216}
.game-slide.active{border:3px solid #d7ff73}.game-slide:not(.active){border-color:#718f42}.slide-art{height:65%;top:-2%}

.game-slide .slide-art{height:66%;top:-3%;left:-13%;width:126%;mix-blend-mode:lighten}
.game-slide[data-game='liar'] .slide-content h2{font-size:70px}.game-slide[data-game='liar'] .game-label{margin-bottom:10px!important}
@media(max-height:740px){.game-slide[data-game='liar'] .slide-content h2{font-size:53px}.game-slide .slide-art{height:63%;top:-4%}}
@media(max-height:610px){.game-slide[data-game='liar'] .slide-content h2{font-size:43px}}
.game-slide.active{border-width:5px;box-shadow:inset 0 0 0 2px #55731c,inset 0 4px 3px #efffb599,0 0 20px #aaff2a26}
.game-slide[data-game='liar'] .slide-content h2{font-size:76px;-webkit-text-stroke:1.25px #fffde9;paint-order:stroke fill;letter-spacing:-1px}
.game-slide .slide-art{height:65%;top:-6%}.game-label{text-shadow:0 2px 3px #000}
@media(max-height:740px){.game-slide[data-game='liar'] .slide-content h2{font-size:59px;-webkit-text-stroke:1px #fffde9}.game-slide .slide-art{height:63%;top:-6%}}
@media(max-height:610px){.game-slide[data-game='liar'] .slide-content h2{font-size:46px;-webkit-text-stroke:.75px #fffde9}}

.game-carousel{gap:0;padding-bottom:16px}.game-slide{margin-right:-30px}.game-slide:last-child{margin-right:0}.game-slide:not(.active):nth-child(odd){transform:scale(.91) rotate(7deg)}.game-slide:not(.active):nth-child(even){transform:scale(.91) rotate(-5deg)}
.game-slide.active .slide-art{height:72%;top:-7%;left:-7%;width:134%}.slide-content{bottom:5%}.game-slide[data-game='liar'] .slide-content h2{font-size:70px;-webkit-text-stroke:1.7px #fffde9}.selection-footer{padding-bottom:17px}
@media(max-width:760px){.slide-content{bottom:5%}.selection-footer{padding-bottom:17px}.game-label{font-size:12px!important}}
@media(max-height:740px){.game-slide.active .slide-art{height:68%;top:-7%}.game-slide[data-game='liar'] .slide-content h2{font-size:57px;-webkit-text-stroke:1.3px #fffde9}.selection-footer{padding-bottom:12px}.game-carousel{padding-bottom:12px}.game-label{font-size:10px!important}}
@media(max-height:610px){.game-slide[data-game='liar'] .slide-content h2{font-size:46px}.selection-footer{padding-bottom:8px}.game-carousel{padding-bottom:7px}}
/* Match the in-game surfaces without changing room state or network logic. */
#room-overlay .rm-app{--rm-red:#d5ff66;--rm-green:#334d21;--rm-ink:#fffde9;--rm-line:#3e502b;background:#0b100b;color:#fffde9}
#room-overlay .rm-brandmark{background:#d5ff66;color:#101606;box-shadow:0 0 12px #b8ff3a22;transform:rotate(-8deg)}
#room-overlay .rm-title,#room-overlay .rm-game-header h1{font-family:'ArcadeDisplay','PingFang SC',sans-serif;font-weight:400;letter-spacing:0}
#room-overlay .rm-btn-primary{background:#d5ff66;color:#101906;border:1px solid #e2ff98;border-radius:16px;box-shadow:inset 0 2px 1px #efffbd,inset 0 -4px 0 #91b138,0 3px 0 #506b24;padding-bottom:16px}
#room-overlay .rm-btn-primary:hover{background:#dfff87}#room-overlay .rm-btn-green{background:#2f4820;color:#e7f3d7;border-color:#58723c}
#room-overlay .rm-stage{background:#15200f;border:2px solid #789d38;border-radius:23px;box-shadow:inset 0 0 0 1px #b5df572e}
#room-overlay .rm-stage-dark{background:#12200d;border-color:#b1d74b}
#room-overlay .rm-game-pick{border-radius:18px;background:#16220f;border-color:#425b2c}#room-overlay .rm-game-pick[aria-pressed=true]{border:2px solid #d5ff66;background:#1b2b11;box-shadow:inset 0 0 0 1px #627e34,0 0 12px #a7ec1e17}
#room-overlay .rm-room-code{background:#14200f;border:1px solid #5d7937;border-radius:19px}
#room-overlay .rm-code{color:#d5ff66}#room-overlay .rm-turn-note[data-mine=true]{background:#223413;border-color:#647d34;color:#e2ff9d}
#room-overlay .rm-result-label{color:#d5ff66}#room-overlay .rm-reveal[data-loser=true]{background:#2c3015;border-color:#9a9d46}
#room-overlay .rm-input,#room-overlay .rm-select{background:#15200f;border-color:#3e5528;color:#fffde9}
#room-overlay .rm-game-pick strong{font-family:'ArcadeDisplay','PingFang SC',sans-serif;font-weight:400;font-size:22px}
#room-overlay .rm-game-pick img{mix-blend-mode:lighten}
@media(max-width:760px) and (min-height:741px){.game-carousel{--slide:calc(100vw - 90px)}.selection-footer{width:calc(100% - 66px)}#join-room{max-width:240px}}
.game-slide.active{border-color:#c7ed61;box-shadow:inset 0 0 0 2px #526c22,inset 0 4px 3px #efffb599,-2px -2px 0 #efffae,3px 5px 0 #536b24,0 0 20px #aaff2a26}
.game-slide[data-game='highcard']:not(.active){border-color:#9a78bd;background:#17121d;box-shadow:inset 0 0 0 2px #453154,0 0 10px #9c6bff0d}.game-slide[data-game='highcard']:not(.active) .game-label{color:#c3a0f0!important}

.game-slide[data-game='liar'] h2.illustrated-title{position:relative;height:76px;margin:0 0 14px;-webkit-text-stroke:0;transform:none}
.illustrated-title>img{position:absolute;top:-10px;left:0;width:100%;height:auto;max-height:none;mix-blend-mode:lighten;pointer-events:none}
@media(max-height:740px){.game-slide[data-game='liar'] h2.illustrated-title{height:59px;margin-bottom:13px}.illustrated-title>img{width:80%;top:-8px}}
@media(max-height:610px){.game-slide[data-game='liar'] h2.illustrated-title{height:46px;margin-bottom:10px}.illustrated-title>img{width:73%;top:-7px}}
.slide-content{mix-blend-mode:lighten}.game-slide[data-game='liar'] .game-label{transform:translateY(14px)}.game-slide[data-game='liar'] .illustrated-title>img{transform:translateY(14px)}.game-slide[data-game='liar'] .slide-desc{transform:translateY(6px)}
@media(max-height:740px){.game-slide[data-game='liar'] .game-label{transform:translateY(3px)}.game-slide[data-game='liar'] .illustrated-title>img{width:72%;transform:none}.game-slide[data-game='liar'] .slide-desc{transform:none}}
@media(max-height:610px){.game-slide[data-game='liar'] .illustrated-title>img{width:66%}}
.slide-content{z-index:auto;mix-blend-mode:normal}.slide-content>*{position:relative;z-index:2}.game-slide[data-game='liar'] h2.illustrated-title{mix-blend-mode:lighten}.illustrated-title>img{mix-blend-mode:normal}.game-label{display:table;background:#0c120be8;padding:2px 4px;margin-left:-4px!important;border-radius:3px;text-shadow:0 1px 2px #000}
@media(min-width:900px){.game-slide[data-game='liar'] h2.illustrated-title{height:100px;margin-bottom:20px}.game-slide[data-game='liar'] .illustrated-title>img{top:-12px;transform:none}.game-slide[data-game='liar'] .game-label,.game-slide[data-game='liar'] .slide-desc{transform:none}}

.game-slide.has-frame,.game-slide.has-frame.active,.game-slide.has-frame:not(.active){border-color:transparent;background:transparent;box-shadow:none!important}
.game-slide.has-frame .slide-frame{position:absolute;display:block;inset:-7px auto auto -7px;width:calc(100% + 14px);height:calc(100% + 14px);object-fit:fill;z-index:-1;pointer-events:none}
.game-slide[data-game='highcard'] .slide-frame{filter:hue-rotate(185deg) saturate(.7)}
#create-room,#create-room:hover{background:#0b100b url('/assets/arcade-button.webp') 50% 38%/108% auto no-repeat;border:0;box-shadow:none;border-radius:34px}
#create-room:active{box-shadow:none;transform:translateY(3px) scale(.98)}
@media(max-height:740px){#create-room{min-height:66px}}
@media(max-height:610px){#create-room{min-height:57px;background-size:100% auto;background-position:50% 45%}}

.game-slide .slide-art{mix-blend-mode:normal}#room-overlay .rm-game-pick img[src*='arcade-hero']{mix-blend-mode:normal}

#create-room,#create-room:hover{background-color:#d5ff66}
@media(min-width:761px) and (max-width:899px) and (min-height:741px){.game-slide[data-game='liar'] h2.illustrated-title{height:100px;margin-bottom:20px}.game-slide[data-game='liar'] .illustrated-title>img{top:-12px;transform:none}.game-slide[data-game='liar'] .game-label,.game-slide[data-game='liar'] .slide-desc{transform:none}}

/* The two ways to join share a row so the lobby stays on one screen. */
.lobby-join-row{display:flex;justify-content:center;gap:10px;width:min(100%,360px);margin:0 auto}.lobby-join-row #join-room{flex:1;min-width:0;max-width:none;margin:0;font-size:14px;min-height:44px}.lobby-join-row #scan-room{display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;min-height:44px;font-size:14px;padding:9px 15px;border:1px solid #43572c;border-radius:28px;background:#111a0d;color:#d6dfcb}.lobby-join-row #scan-room img{width:18px;height:18px;filter:invert(85%)}.rm-invite-actions{display:flex;flex-direction:column;gap:4px;align-items:stretch}.rm-invite-actions .rm-btn{min-height:44px!important}.rm-invite-actions .rm-link{min-height:44px!important}.rm-scan-join{margin-top:10px}

/* Three category entrances share the original arcade carousel. */
#detail-dialog .dialog-close,#tool-dialog .dialog-close{z-index:5}
.category-slide h2{font-size:48px;letter-spacing:-1px}
.category-slide .slide-art>.category-extra-art{position:absolute;width:44%;height:44%;right:1%;bottom:0;transform:rotate(12deg)}
.category-slide[data-home-category='drinking'] .slide-art{left:-12%;width:124%;height:68%;top:-5%}
.category-slide[data-home-category='board'] .slide-art{left:-5%;width:110%;height:64%;top:0}
.category-slide .slide-bottom{justify-content:space-between;gap:6px}
.slide-bottom .category-entry-hint{border:0;background:none;color:var(--lime);padding-inline:0;gap:5px}
.category-card-entry{position:absolute;inset:0;z-index:4;border:0;border-radius:24px;background:none;cursor:pointer;padding:0}
.category-card-entry:focus-visible{outline:3px solid var(--text);outline-offset:3px}
.category-card-entry:hover{background:#d5ff6605}
.game-carousel.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}.game-carousel.is-dragging .category-card-entry{cursor:grabbing}
.category-sheet{width:min(820px,calc(100% - 32px));padding:0;border-radius:27px;overflow:hidden;background:#0e160d;border:1px solid #657e3b;max-height:calc(100dvh - 32px)}
.category-sheet[open]{display:flex;flex-direction:column}
#category-content{display:flex;flex-direction:column;min-height:0;width:100%}
.category-header{display:flex;align-items:center;gap:16px;padding:24px 28px 21px;border-bottom:1px solid #34472a;flex-shrink:0;background:#111b0e}
.category-header .icon-button{width:44px;height:44px;background:#1a2713;border-color:#5d7537}
.category-header p{font-size:9px;font-weight:750;letter-spacing:2.2px;color:var(--lime);margin:0 0 7px}
.category-header h2{font-family:ArcadeDisplay,'PingFang SC',sans-serif;font-size:34px;line-height:1.1;letter-spacing:-.6px;margin:0}
.category-count{margin-left:auto;flex-shrink:0;color:#c7d9ac;border:1px solid #445a30;border-radius:20px;font-size:12px;padding:7px 11px}
.category-body{padding:0 28px 28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4a6132 transparent;min-height:0}
.category-intro{font-size:13px;color:#b3bea8;line-height:1.6;margin:21px 0 20px}
.category-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.category-game{min-width:0;overflow:hidden;border:1px solid #6b873e;border-radius:22px;background:#172211;display:flex;flex-direction:column}
.category-game-art{display:block;width:100%;height:140px;object-fit:contain;padding:4px 12px 0}
.category-game-info{padding:6px 15px 16px;flex:1}
.category-game-info h3{font-family:ArcadeDisplay,'PingFang SC',sans-serif;font-size:25px;letter-spacing:-.5px;line-height:1.2;margin:0 0 8px;white-space:nowrap}
.category-game-info p{color:#bac7ab;font-size:11px;line-height:1.5;margin:0 0 13px}
.category-game-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#9faf8e;font-size:10px;line-height:1.4}
.category-game-actions{display:flex;border-top:1px solid #3d512c;padding:5px 9px;gap:6px}
.category-game-actions button{min-width:44px;min-height:44px;border:0;background:none;font-size:12px;color:#c2d2b0;padding:8px 6px;cursor:pointer}
.category-game-actions button:last-child{display:flex;gap:7px;align-items:center;justify-content:flex-end;color:var(--lime);font-weight:700;margin-left:auto}
.category-game-actions button:hover{color:#fffde9}
.category-game-actions img{width:17px;height:17px;filter:invert(91%) sepia(25%) saturate(820%) hue-rotate(23deg)}
.category-coming-soon{display:flex;align-items:center;text-align:center;flex-direction:column;padding:17px 0 14px}
.category-coming-soon>img{width:min(270px,80%);height:240px;object-fit:contain}
.category-soon-label{color:var(--lime);border:1px solid #4c642f;border-radius:20px;padding:7px 13px;font-size:9px;font-weight:750;letter-spacing:2px;margin:4px 0 17px;background:#1b2811}
.category-coming-soon h3{font-family:ArcadeDisplay,'PingFang SC',sans-serif;font-size:30px;margin:0 0 12px;line-height:1.2}
.category-coming-soon p{color:#adbaa1;font-size:13px;margin:0 0 27px;line-height:1.6}
.category-coming-soon .button{min-height:48px;padding:12px 22px;font-size:14px}
@media(max-width:760px){.category-slide h2{font-size:clamp(30px,12vw,51px)}.category-sheet{width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:24px}.category-header{padding:20px 17px 18px;gap:12px}.category-header h2{font-size:30px}.category-header p{font-size:8px;letter-spacing:1.7px}.category-count{font-size:10px;padding:7px 9px}.category-body{padding:0 17px 20px}.category-intro{font-size:12px;margin:18px 0}.category-game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-game-art{height:125px;padding-inline:5px}.category-game-info{padding:5px 12px 14px}.category-game-info h3{font-size:23px}.category-game-info p{font-size:10px;min-height:30px;margin-bottom:9px}.category-game-meta{font-size:9px;gap:4px}.category-game-actions{padding-inline:6px;gap:0}.category-game-actions button{font-size:11px}.category-game-actions button:last-child{gap:4px}.category-coming-soon>img{height:220px}.category-coming-soon h3{font-size:28px}}
@media(max-height:740px){.category-slide h2{font-size:39px}.category-coming-soon{padding-top:7px}.category-coming-soon>img{height:170px}.category-coming-soon p{margin-bottom:20px}}
@media(max-height:610px){.category-slide h2{font-size:32px}.category-slide .slide-desc{font-size:9px}.category-header{padding-block:14px}.category-coming-soon>img{height:135px}}
@media(max-width:360px){.category-slide h2{font-size:30px}.category-header{gap:9px;padding-inline:13px}.category-header h2{font-size:26px}.category-header p{font-size:7px;letter-spacing:1px}.category-body{padding-inline:13px}.category-count{font-size:9px;padding:6px 8px}.category-game-grid{gap:9px}.category-game-art{height:105px}.category-game-info{padding-inline:9px}.category-game-info h3{font-size:20px}.category-game-meta{font-size:9px;gap:3px}.category-game-actions button{font-size:10px;padding-inline:4px}}
