:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#f6f5f2;background:#10131d;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 80% 5%,#29264a 0,transparent 33%),radial-gradient(circle at 0 45%,#192a3b 0,transparent 35%),#10131d}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.46;cursor:not-allowed}a{color:inherit}#app{min-height:100vh}.shell{max-width:1180px;margin:auto;padding:0 28px}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font:800 26px 'Avenir Next',ui-sans-serif,system-ui,sans-serif;letter-spacing:-1px}.mark{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#c7ff6b;color:#131b1e;font-size:25px;transform:rotate(-8deg)}.navright{display:flex;align-items:center;gap:13px}.hello{color:#b7b8c3;font-size:14px}.pill,.btn{border:0;border-radius:15px;font-weight:700}.pill{padding:11px 17px;background:#242937;color:#e8eaf1}.btn{padding:15px 22px;background:#c7ff6b;color:#152019;box-shadow:0 8px 25px #c7ff6b25}.btn:hover:not(:disabled){background:#dcff9e}.btn.secondary{background:#292e3e;color:#f9f8f5;box-shadow:none}.btn.ghost{background:transparent;color:#d9d9e1;border:1px solid #494d5e;box-shadow:none}.eyebrow{text-transform:uppercase;letter-spacing:.19em;color:#c7ff6b;font-weight:800;font-size:12px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:62px 0}.hero h1{font:800 clamp(52px,6.5vw,92px)/.99 'Avenir Next',ui-sans-serif,system-ui,sans-serif;letter-spacing:-.07em;margin:16px 0 22px}.hero h1 em{font-style:normal;color:#c7ff6b}.hero p{max-width:520px;color:#b8bbc9;font-size:19px;line-height:1.65}.heroactions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.heroart{height:470px;position:relative;border-radius:34px;background:linear-gradient(145deg,#36315e,#191c33 62%,#363457);border:1px solid #66618344;box-shadow:0 35px 95px #0008;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb.a{height:340px;width:340px;background:#c7ff6b;right:-55px;top:-125px;opacity:.88}.orb.b{height:225px;width:225px;background:#8c7dff;left:-90px;bottom:-70px;opacity:.8}.floatcard{position:absolute;background:#f9f7ee;color:#181b25;border-radius:22px;box-shadow:0 20px 35px #0005;padding:19px 22px}.floatcard.one{left:9%;top:13%;width:70%;transform:rotate(-6deg)}.floatcard.two{right:8%;top:46%;width:62%;transform:rotate(7deg)}.floatcard.three{left:13%;bottom:9%;width:68%;transform:rotate(-3deg)}.floatcard strong{font:700 21px 'Avenir Next',ui-sans-serif,system-ui,sans-serif}.floatcard p{font-size:14px;line-height:1.35;color:#535568;margin:7px 0 0}.badge{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8064cc;margin-bottom:8px}.section{padding:38px 0 100px}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.sectionhead h2{font:700 clamp(33px,4vw,49px) 'Avenir Next',ui-sans-serif,system-ui,sans-serif;letter-spacing:-.04em;margin:9px 0}.sectionhead p{color:#aeb1c0;max-width:410px;line-height:1.5}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px}.filter{border:1px solid #44485a;background:#232735;color:#c4c6d2;padding:9px 15px;border-radius:999px}.filter.active{background:#c7ff6b;border-color:#c7ff6b;color:#162019;font-weight:800}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gamecard{min-height:285px;border-radius:25px;padding:23px;display:flex;flex-direction:column;background:#232738;border:1px solid #ffffff17;transition:transform .2s,border-color .2s}.gamecard:hover{transform:translateY(-4px);border-color:#c7ff6b77}.gamecard:nth-child(6n+2){background:#2b2843}.gamecard:nth-child(6n+3){background:#253540}.gamecard:nth-child(6n+4){background:#3b2b38}.gamecard:nth-child(6n+5){background:#2c3345}.gamecard:nth-child(6n+6){background:#393442}.gameicon{font-size:39px;margin-bottom:20px}.gamecard h3{font:700 25px 'Avenir Next',ui-sans-serif,system-ui,sans-serif;margin:0 0 6px}.gamecard p{color:#c0c2ce;line-height:1.45;margin:0}.cardfoot{margin-top:auto;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:10px}.meta{font-size:12px;color:#a8acba}.roundbtn{border:0;border-radius:50%;width:40px;height:40px;background:#c7ff6b;color:#17201a;font-size:22px}.roomlayout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;padding:38px 0 95px}.panel{background:#222637;border:1px solid #ffffff1a;border-radius:26px;padding:28px}.roommain h1{font:700 clamp(34px,5vw,58px) 'Avenir Next',ui-sans-serif,system-ui,sans-serif;letter-spacing:-.04em;margin:8px 0 10px}.roommain>.lead{color:#b9bdc9;line-height:1.5}.roomcode{display:inline-block;color:#c7ff6b;font-weight:800;letter-spacing:.08em}.sidepanel h3{font:700 20px 'Avenir Next',ui-sans-serif,system-ui,sans-serif;margin:0 0 17px}.player{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #ffffff16}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#a490f5;color:#1b1834;font-weight:800}.player:nth-child(odd) .avatar{background:#ffb693}.muted{color:#aab0c0}.invitebox{border-radius:16px;background:#141924;padding:14px;margin:20px 0;word-break:break-all;color:#b8bbca;font-size:13px}.roomcontent{margin-top:25px}.roomcontent h2{font:700 29px 'Avenir Next',ui-sans-serif,system-ui,sans-serif;letter-spacing:-.03em}.cluegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.clue,.answer,.revealrow{padding:17px;border-radius:15px;background:#30364a;border:1px solid #ffffff1a}.clue.shared{opacity:.55}.clue p{margin:0 0 15px;line-height:1.5}.clue button,.answer button{width:100%}.sharedlist{display:grid;gap:9px}.shareditem{background:#171c29;padding:13px;border-radius:13px;color:#d7d9e0}.options{display:grid;gap:10px;margin:18px 0}.option{display:flex;gap:11px;align-items:center;padding:13px;border-radius:12px;background:#31374b}.option input{accent-color:#c7ff6b}.textinput,.select{width:100%;padding:15px 17px;border-radius:13px;background:#171c29;border:1px solid #555b69;color:#fff;outline:none}.textinput:focus,.select:focus{border-color:#c7ff6b}.formgrid{display:grid;gap:13px;margin:22px 0}.formgrid label{display:grid;gap:8px;color:#c8ccd6}.formgrid textarea{resize:vertical}.answerlist{display:grid;gap:12px}.answer{display:flex;align-items:center;justify-content:space-between;gap:12px}.answer p{margin:0;line-height:1.4}.answer button{width:auto;white-space:nowrap}.result{background:#334431;border:1px solid #b5e48466;padding:22px;border-radius:18px;margin:20px 0}.result.bad{background:#483238;border-color:#e89aa866}.result h2{margin:0 0 9px}.result p{line-height:1.5}.revealrow{margin:9px 0}.notice{color:#dce2ba;background:#353c2f;border-radius:13px;padding:12px 15px;margin:16px 0}.error{color:#ffd1d8;background:#562a37;border-radius:13px;padding:12px 15px;margin:16px 0}.modalback{position:fixed;inset:0;background:#080b13d9;backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px;z-index:5}.modal{background:#242938;border:1px solid #ffffff28;border-radius:25px;padding:31px;max-width:440px;width:100%;box-shadow:0 30px 80px #0009}.modal h2{font:700 32px 'Avenir Next',ui-sans-serif,system-ui,sans-serif;margin:4px 0 8px}.modal p{color:#bfc2cc;line-height:1.5}.fine{font-size:12px;color:#9ea2b0}.empty{text-align:center;padding:50px 20px;color:#c4c5d0}.footer{border-top:1px solid #ffffff17;padding:28px 0;color:#898e9f;font-size:13px}@media(max-width:850px){.hero{gap:20px}.heroart{height:380px}.grid{grid-template-columns:repeat(2,1fr)}.roomlayout{grid-template-columns:1fr}.sidepanel{order:0}}@media(max-width:620px){.shell{padding:0 18px}.nav{height:70px}.brand{font-size:22px}.navright .hello{display:none}.hero{display:block;padding:44px 0 55px}.hero h1{font-size:57px}.hero p{font-size:16px}.heroactions{width:100%}.heroart{height:315px;margin-top:38px}.floatcard.one{top:9%}.floatcard.two{top:43%}.floatcard.three{bottom:5%}.floatcard strong{font-size:17px}.floatcard p{font-size:12px}.section{padding:20px 0 70px}.sectionhead{display:block}.grid{grid-template-columns:1fr}.gamecard{min-height:235px}.roomlayout{padding-top:20px;gap:16px}.panel{padding:20px}.cluegrid{grid-template-columns:1fr}.answer{display:block}.answer button{margin-top:12px;width:100%}}

.chatlog{max-height:290px;overflow:auto;display:grid;gap:9px;padding-right:3px}.chatmsg{padding:10px 12px;border-radius:12px;background:#171c29;word-break:break-word}.chatmsg strong{font-size:12px;color:#c7ff6b}.chatmsg p{font-size:13px;line-height:1.4;margin:5px 0}.reportbtn{border:0;background:none;color:#aeb4c3;font-size:11px;padding:0;text-decoration:underline}.reportbtn:hover{color:#fff}.sidepanel .select{margin-top:7px}

.gamearea.paused{pointer-events:none;opacity:.5}.roommain>.notice{display:flex;align-items:center;justify-content:space-between;gap:12px}.roommain>.notice .btn{padding:9px 12px;white-space:nowrap}

/* Keep recovery and draft controls reachable on small screens. */
.modal{max-height:calc(100dvh - 40px);overflow-y:auto}
@media(max-width:620px){.navright [data-action="home"]{display:none}.navright .pill{padding:9px 11px;font-size:12px}}
.revealrow .reportbtn{display:flex;align-items:center;width:max-content;min-height:40px;margin-top:6px;padding:9px 0;font-size:13px}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid #c7ff6b;outline-offset:3px}
.roomjump,.roomchatback{display:none}
@media(max-width:850px){.roomjump{display:flex;justify-content:flex-end;position:sticky;top:8px;z-index:2;margin:12px 0}.roomjump .btn{padding:10px 14px;box-shadow:0 5px 18px #10131d99}.roomchatback{display:block;margin:0 0 10px;padding:10px 14px}#room-chat-heading,#room-game-panel{scroll-margin-top:16px}}
@media(max-width:850px){.roomjump.lobbyjump{position:static}}

/* Private room chat */
@media(min-width:851px){.roomlayout{grid-template-columns:minmax(0,1fr) minmax(315px,350px)}}
.sidepanel{min-width:0}
.chatwindow{min-width:0;margin-top:28px;overflow:hidden;border:1px solid #ffffff24;border-radius:20px;background:#181d2b;box-shadow:0 15px 35px #0d10183d}
.chathead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 16px;border-bottom:1px solid #ffffff17;background:#262c3d}
.chathead>div{display:flex;align-items:center;gap:10px;min-width:0}
.chathead h3{margin:0;font-size:17px}
.chathead-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#c7ff6b;color:#18221a;font-size:18px}
.chatcount{flex:none;color:#b7e18d;font-size:11px;font-weight:700}
.chatlog{height:clamp(270px,43vh,430px);max-height:none;display:flex;flex-direction:column;gap:12px;overflow-y:auto;overscroll-behavior:contain;padding:18px 14px;background:radial-gradient(circle at 90% 5%,#30334b55,transparent 45%),#171b28;scrollbar-color:#606678 transparent}
.chatempty{align-self:center;margin:auto 0;color:#aeb4c3;text-align:center;font-size:13px}
.chatmsg{align-self:flex-start;max-width:90%;min-width:80px;padding:10px 12px;border:1px solid #ffffff14;border-radius:16px 16px 16px 5px;background:#303649;overflow-wrap:anywhere;box-shadow:0 4px 14px #0002}
.chatmsg.own{align-self:flex-end;border-color:#a1d76333;border-radius:16px 16px 5px 16px;background:#334638}
.chatmsg.grouped{margin-top:-6px}
.chatmeta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:13px}
.chatmeta strong{color:#d8e8ff;font-size:11px}
.chatmsg.own .chatmeta strong{color:#d6ff9d}
.chatmeta time{margin-left:auto;color:#aeb7c3;font-size:10px;white-space:nowrap}
.chatmsg p{margin:5px 0 0;font-size:13px;line-height:1.5;color:#f5f6f7}
.chatmsg .reportbtn{display:block;margin-top:6px;min-height:34px;padding:6px 0}
.chatcomposer{display:flex;align-items:center;gap:9px;padding:12px;border-top:1px solid #ffffff17;background:#222839}
.chatcomposer .textinput{min-width:0;padding:12px 13px;border-color:#ffffff21;background:#151a27;font-size:13px}
.chatsend{flex:none;width:41px;height:41px;border:0;border-radius:13px;background:#c7ff6b;color:#152019;font-size:23px;font-weight:800;line-height:1}
.chatsend:hover{background:#dcff9e}
.chatsafety{margin:0;padding:0 14px 12px;color:#a7afbd;font-size:11px;line-height:1.45;background:#222839}
.chatreport{padding:10px 14px 13px;border-top:1px solid #ffffff12;color:#aab3c2;font-size:11px}
.chatreport summary{cursor:pointer}
.chatreport label{display:grid;gap:5px;margin-top:10px}
.chatreport .select{font-size:12px;padding:9px 11px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.chatwindow{margin-top:24px}.roomchatback{margin:10px 14px 0}.chatlog{height:clamp(300px,46vh,460px)}}

/* Lightweight illustrated scenes keep the game state visible without a 3D download. */
.scene-panel{margin:0 0 26px;overflow:hidden;border:1px solid #ffffff25;border-radius:22px;background:#1b2130;box-shadow:0 20px 48px #080d1a55}
.scene-top{display:grid;grid-template-columns:auto minmax(0,1fr) 8px;align-items:center;gap:12px;padding:15px 20px 8px}
.scene-top strong{font:700 18px 'Avenir Next',ui-sans-serif,system-ui,sans-serif;color:#f8f7f1}
.scene-kicker{color:#c7ff6b;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.scene-live{width:8px;height:8px;border-radius:50%;background:#c7ff6b;box-shadow:0 0 14px #c7ff6ba0}
.scene-visual{height:clamp(175px,24vw,258px);overflow:hidden;position:relative;display:grid;place-items:center}
.scene-visual:after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,#151a2955);pointer-events:none}
.scene-visual svg{width:100%;height:100%;max-width:720px;filter:drop-shadow(0 10px 16px #05091666)}
.scene-midnight-diner .scene-visual{background:radial-gradient(circle at 74% 20%,#74526b 0,transparent 44%),linear-gradient(125deg,#263c56,#594252 80%)}
.scene-station-blackout .scene-visual{background:radial-gradient(circle at 81% 17%,#345b92 0,transparent 48%),linear-gradient(125deg,#111d3f,#24295a 80%)}
.scene-museum-after-hours .scene-visual{background:radial-gradient(circle at 42% 18%,#706686 0,transparent 52%),linear-gradient(125deg,#293849,#3d365f 80%)}
.scene-product-pitch .scene-visual{background:radial-gradient(circle at 50% 0,#85508a 0,transparent 62%),linear-gradient(130deg,#44315f,#281d44 80%)}
.scene-future-headlines .scene-visual{background:radial-gradient(circle at 80% 14%,#5b69a1 0,transparent 44%),linear-gradient(125deg,#1b3758,#3c315c 80%)}
.scene-club-night .scene-visual{background:radial-gradient(circle at 48% 0,#7b4a8b 0,transparent 60%),linear-gradient(125deg,#282347,#543654 80%)}
.scene-custom-clue .scene-visual{background:linear-gradient(130deg,#243c50,#4b4266)}
.scene-custom-caption .scene-visual{background:linear-gradient(130deg,#473963,#29495d)}
.scene-footer{display:flex;align-items:center;gap:18px;padding:14px 20px 17px;background:#1c2332}
.scene-footer>div{min-width:0;display:grid;gap:3px}
.scene-footer strong{font-size:13px;color:#edf3e9}
.scene-footer span{font-size:11px;color:#aebbc8}
.scene-footer progress{width:108px;height:7px;flex:none;margin-left:auto;appearance:none;border:0;border-radius:999px;background:#394352;overflow:hidden}
.scene-footer progress::-webkit-progress-bar{background:#394352;border-radius:999px}
.scene-footer progress::-webkit-progress-value{background:#c7ff6b;border-radius:999px}
.scene-footer progress::-moz-progress-bar{background:#c7ff6b;border-radius:999px}
@media(max-width:620px){.scene-top{padding:14px 15px 8px;gap:8px}.scene-top strong{font-size:15px}.scene-visual{height:185px}.scene-footer{padding:12px 15px 15px}.scene-footer progress{width:72px}}

.language-toggle{min-width:52px;padding:10px 12px;border:1px solid #ffffff34;background:#202738;color:#d8ffad}
.language-toggle:hover{background:#30394a}
@media(max-width:620px){.navright{gap:7px}.language-toggle{min-width:43px;padding:9px 8px}}
@media(max-width:850px){.roomjump.drawingjump{position:static}}

/* Illustrated cards share the same frame; WebP artwork loads only when a card nears view. */
.gamecard-art{aspect-ratio:16/9;overflow:hidden;margin-bottom:18px;border:1px solid #ffffff1f;border-radius:17px;background:#1a2537}
.gamecard-art img,.gamecard-art svg{display:block;width:100%;height:100%;object-fit:cover}
.gamecard-art-svg{background:radial-gradient(circle at 72% 18%,#5b5b8355,transparent 47%),linear-gradient(135deg,#263852,#41415f)}
.gamecard-art-svg svg{filter:drop-shadow(0 7px 12px #05091677)}
.gamecard .eyebrow{line-height:1.4}
.scene-visual img{display:block;width:100%;height:100%;object-fit:cover}
.heroart>img{width:100%;height:100%;object-fit:cover;display:block}
.idea-section{padding-bottom:55px}
.idea-card{max-width:900px;margin:auto;padding:clamp(22px,4vw,42px);border:1px solid #c7ff6b45;border-radius:28px;background:radial-gradient(circle at 100% 0,#42564266,transparent 48%),#202838;box-shadow:0 22px 55px #0b102950}
.idea-card h2{font:700 clamp(27px,3.6vw,41px) 'Avenir Next',ui-sans-serif,system-ui,sans-serif;letter-spacing:-.035em;margin:9px 0 8px}
.idea-card>p{max-width:640px;line-height:1.55}
.idea-card .formgrid{max-width:660px}
.idea-card textarea{min-height:110px}
.idea-result{max-width:660px;margin-top:20px;padding:18px;border:1px solid #ffffff20;border-radius:18px;background:#151c2b}
.idea-result>strong{display:block;line-height:1.5;color:#ecf5dd}
.idea-result .notice{margin:12px 0}
@media(max-width:620px){.idea-section{padding-bottom:32px}.idea-card{border-radius:20px}}

.adventure{display:grid;gap:16px}.adventure-heading h2{margin:5px 0 4px;font-size:clamp(24px,3vw,35px)}.adventure-heading p{margin:0;color:#bfcada}.adventure-stage{position:relative;overflow:hidden;aspect-ratio:1400/788;border-radius:20px;border:1px solid #ffffff30;background:#23334b;box-shadow:0 24px 50px #080e2070}.adventure-stage>img{display:block;width:100%;height:100%;object-fit:cover}.adventure-stage:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#10182770);pointer-events:none}.adventure-marker{position:absolute;z-index:1;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;padding:0;border:2px solid #fff;border-radius:50%;background:#b8fd67;color:#182e29;font-size:22px;font-weight:900;box-shadow:0 0 0 7px #c7ff6b42,0 8px 22px #061b2b99;cursor:pointer;transition:transform .18s,box-shadow .18s}.adventure-marker.active{animation:adventure-pulse 2s ease-in-out infinite}.adventure-marker.active:hover,.adventure-marker.active:focus-visible{transform:translate(-50%,-50%) scale(1.15);outline:3px solid #fff;outline-offset:6px}.adventure-marker.done{background:#233e48;color:#fff;box-shadow:0 4px 14px #061b2b88}.adventure-marker.locked{background:#273944b9;color:#ffffffa8;border-color:#ffffff8a;box-shadow:none}.adventure-marker:disabled{cursor:default}.marker-label{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:max-content;max-width:132px;padding:5px 9px;border-radius:8px;background:#101d2ce8;color:#fff;font-size:12px;font-weight:700;line-height:1.2;text-align:center;text-shadow:none;white-space:normal}.adventure-story{border:1px solid #9de0b14d;border-radius:16px;padding:17px 20px;background:linear-gradient(110deg,#233e44,#213141);color:#f3f6ed}.adventure-story p{margin:7px 0 0;font-size:17px;line-height:1.55}.adventure-history{display:grid;gap:8px}.adventure-history>strong{color:#c7ff6b}.adventure-history p{margin:0;padding:10px 13px;border:1px solid #ffffff1d;border-radius:10px;color:#d9e4ec;font-size:13px;line-height:1.5}.adventure-history p span{display:block;color:#c7ff6b;font-weight:700}@keyframes adventure-pulse{50%{box-shadow:0 0 0 13px #c7ff6b1c,0 8px 26px #061b2baa}}@media(max-width:620px){.adventure-stage{border-radius:14px}.adventure-marker{width:44px;height:44px}.marker-label{font-size:10px;max-width:96px;padding:4px 6px}.adventure-story{padding:15px}.adventure-story p{font-size:15px}.adventure-history p{font-size:12px}}@media(prefers-reduced-motion:reduce){.adventure-marker.active{animation:none}}
.adventure-marker[data-scene-target="bridge"] .marker-label,.adventure-marker[data-preview-scene-target="bridge"] .marker-label{top:auto;bottom:calc(100% + 8px)}
.board-game{display:grid;gap:16px}.board-heading h2{margin:5px 0;font-size:clamp(24px,3vw,35px)}.board-heading p{margin:0;color:#c5d5dc}.board-stage{position:relative;min-height:350px;display:grid;place-items:center;overflow:hidden;border:1px solid #ffffff36;border-radius:22px;box-shadow:0 22px 46px #060f2066;background-size:cover;background-position:center}.board-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0c213b18,#0920276c);pointer-events:none}.board-stage.garden{background-image:url('/images/starlight-garden-board.svg')}.board-stage.garden.rainy:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(105deg,transparent 0 44px,#d9f2ff24 45px 47px,transparent 48px 83px)}.board-stage.map{background-image:url('/images/hidden-treasure-map.svg')}.board-stage.map.cavern{background-image:linear-gradient(#16213db9,#122a39ba),url('/images/hidden-treasure-map.svg')}.board-grid{position:relative;z-index:1;width:min(100% - 32px,610px);display:grid;gap:12px}.garden .board-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;margin-top:95px}.map .board-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:500px}.board-slot{min-width:0;display:grid;justify-items:center;align-content:center;gap:5px;padding:11px 7px;border:1px solid #fff9;border-radius:15px;color:#fff;text-align:center;font-weight:800;font-size:13px;line-height:1.15;text-shadow:0 2px 4px #09202c9c;cursor:pointer;box-shadow:0 12px 24px #071e2880;transition:transform .15s,box-shadow .15s,background .15s}.board-slot:hover:not(:disabled),.board-slot:focus-visible:not(:disabled){transform:translateY(-4px);outline:3px solid #fff;outline-offset:2px;box-shadow:0 16px 28px #071e28ae}.board-slot:disabled{cursor:default}.board-symbol{font-size:34px;line-height:1}.board-slot small{font-size:11px;font-weight:700}.garden-slot{min-height:116px;background:linear-gradient(155deg,#386e5ceb,#173c3ddf)}.garden-slot.stage-3{background:linear-gradient(155deg,#688f6d,#2c655f)}.garden-slot.stage-3 .board-symbol{color:#ffefbd;font-size:43px}.map-slot{min-height:83px;background:#203d4abb;backdrop-filter:blur(5px)}.map-slot.active{background:#347981e8;border-color:#d3f7e7}.map-slot.found{background:#fff1c9ec;color:#233b40;text-shadow:none}.map-slot.treasure .board-symbol{color:#b67c3d}.map-slot.locked{opacity:.7}.board-story{padding:15px 18px;border:1px solid #aee2c14f;border-radius:14px;background:#1e3740;color:#f4f5e9;line-height:1.5}.board-history{color:#c9d7d9}.board-history p{margin:7px 0;padding:8px 10px;border:1px solid #ffffff27;border-radius:8px}@media(max-width:620px){.board-stage{min-height:310px;border-radius:16px}.board-grid{width:calc(100% - 20px);gap:7px}.garden .board-grid{margin-top:74px}.board-slot{padding:8px 4px;font-size:11px}.board-slot small{font-size:10px}.garden-slot{min-height:96px}.map-slot{min-height:72px}.board-symbol{font-size:28px}}

.drawing-game,.farm-game{display:grid;gap:14px}.drawing-game h2,.farm-game h2{margin:0;font-size:clamp(25px,3.4vw,36px)}.drawing-canvas{display:block;width:100%;height:auto;aspect-ratio:5/3;border:1px solid #ffffff38;border-radius:19px;background:#202b44;box-shadow:0 18px 40px #0b132a80}.drawing-canvas.editable{touch-action:none;cursor:crosshair}.drawing-palette{display:flex;gap:10px}.drawing-swatch{width:38px;height:38px;border:2px solid #ffffffa8;border-radius:50%;cursor:pointer}.drawing-swatch.selected{outline:3px solid #c7ff6b;outline-offset:3px}.drawing-game .formgrid{margin:4px 0 18px}.farm-stage{min-height:345px;display:grid;place-items:end center;padding:115px 20px 24px;border:1px solid #ffffff38;border-radius:20px;background:linear-gradient(#0d1c2d33,#132b3388),url('/images/friend-farm.svg') center/cover;box-shadow:0 20px 45px #0b172f70}.farm-grid{width:min(100%,760px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.farm-plot{display:grid;place-items:center;align-content:center;gap:6px;min-width:0;min-height:172px;padding:10px 6px;border:1px solid #fff9;border-radius:15px;background:#20473ed9;text-align:center;box-shadow:0 10px 30px #09231a99}.farm-plot.stage-3{background:#4d6d53e8}.farm-crop{font-size:31px}.farm-plot strong{font-size:12px}.farm-plot small{color:#e6f0e2;font-size:10px}.farm-plot .btn{font-size:11px;padding:8px 10px}.farm-plot .btn:disabled{opacity:.65}@media(max-width:620px){.farm-stage{min-height:385px;padding:98px 10px 12px}.farm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.farm-plot{min-height:116px;padding:6px}.farm-crop{font-size:24px}.farm-plot .btn{padding:7px 8px}}

.tabletop-game{display:grid;gap:15px;max-width:720px}.tabletop-game h2{margin:0;font-size:clamp(27px,4vw,38px)}.tabletop-game .notice{margin:0}.table-board{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:5px;width:min(100%,580px);padding:16px;border:1px solid #d8c89466;border-radius:22px;background:linear-gradient(150deg,#936847,#48352d);box-shadow:0 20px 48px #080c1c80,inset 0 2px 5px #f6dcad55}.table-cell{aspect-ratio:1;min-width:0;display:grid;place-items:center;padding:10%;border:0;border-radius:50%;background:#182d3b;box-shadow:inset 0 5px 9px #080b17bb;cursor:pointer}.table-cell span{width:100%;height:100%;border-radius:50%;display:block}.table-cell.empty:not(:disabled):hover span,.table-cell.empty:not(:disabled):focus-visible span{background:#e9e3c17a}.table-cell.piece-0 span{background:radial-gradient(circle at 32% 28%,#ffe1bd,#e18460 62%,#913f38)}.table-cell.piece-1 span{background:radial-gradient(circle at 32% 28%,#cce4ef,#4c9bb3 62%,#25556f)}.table-cell.last{outline:3px solid #d8f68c;outline-offset:-2px}.table-cell:disabled{cursor:default}.gomoku-board{background:linear-gradient(150deg,#d1a974,#936441);gap:2px}.gomoku-board .table-cell{padding:12%;border:1px solid #603f2d45;background:linear-gradient(90deg,transparent 48%,#68472e55 49% 51%,transparent 52%),linear-gradient(transparent 48%,#68472e55 49% 51%,transparent 52%);box-shadow:none}.gomoku-board .table-cell.piece-0 span{background:radial-gradient(circle at 32% 28%,#717d87,#101a22 70%);box-shadow:0 3px 5px #231b17a8}.gomoku-board .table-cell.piece-1 span{background:radial-gradient(circle at 32% 28%,#fff,#dfd8c5 70%);box-shadow:0 3px 5px #231b17a8}.card-opponents{display:flex;flex-wrap:wrap;gap:8px}.card-opponents span{padding:7px 10px;border:1px solid #ffffff3a;border-radius:99px;color:#f4f1e6;background:#263849}.card-table{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:18px 22px;border:1px solid #ffffff36;border-radius:20px;background:radial-gradient(circle at 50% 30%,#34665c,#183a40 73%);box-shadow:0 20px 42px #0a111f66}.card-hand{display:flex;gap:8px;flex-wrap:wrap}.hand-wrap{display:grid;gap:6px}.playing-card{width:70px;height:104px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:8px;border:2px solid #fff8;border-radius:12px;color:#fff;box-shadow:0 9px 17px #09101f88;text-align:left;cursor:pointer}.playing-card strong{font-size:23px;line-height:1}.playing-card span{align-self:center;font-size:27px}.playing-card small{font-size:10px;text-transform:uppercase;letter-spacing:.04em}.playing-card.red,.color-choice.red{background:#b94b60}.playing-card.blue,.color-choice.blue{background:#3b76a8}.playing-card.green,.color-choice.green{background:#548d6a}.playing-card.gold,.color-choice.gold{background:#a77d35}.playing-card:disabled{opacity:.68;cursor:default}.playing-card.top-card{opacity:1;cursor:default;transform:rotate(-8deg)}.playing-card:not(:disabled):hover,.playing-card:not(:disabled):focus-visible{transform:translateY(-6px);outline:3px solid #d5ef92;outline-offset:2px}.wild-choices{display:flex;gap:2px}.color-choice{width:16px;height:25px;padding:0;border:1px solid #fff8;border-radius:5px;color:transparent;cursor:pointer}.color-choice:focus-visible{outline:2px solid #fff}.active-color{text-transform:capitalize}.active-color.red{color:#ffa3ac}.active-color.blue{color:#a7d7ff}.active-color.green{color:#a6e9b3}.active-color.gold{color:#ffe39a}@media(max-width:620px){.table-board{padding:8px;gap:3px;border-radius:14px}.table-cell{padding:9%}.gomoku-board{gap:0}.card-table{padding:13px}.playing-card{width:58px;height:90px}.playing-card strong{font-size:20px}.card-hand{gap:6px}}
.btn.secondary:hover:not(:disabled){color:#152019}
.idea-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.idea-choice{min-width:0;padding:12px;border:1px solid #ffffff35;border-radius:18px;background:#253145;color:#f7f8ef;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s,background .15s}.idea-choice:hover,.idea-choice:focus-visible{border-color:#c7ff6b;transform:translateY(-2px);outline:none}.idea-choice.selected{border-color:#c7ff6b;background:#304534;box-shadow:0 0 0 2px #c7ff6b55}.idea-choice .gamecard-art{margin:0 0 10px;border-radius:11px}.idea-choice-body{display:grid;gap:5px}.idea-choice-body strong{font-size:19px}.idea-choice-body>span:not(.eyebrow){color:#c7ccd4;font-size:13px;line-height:1.4}.idea-choice-body em{margin-top:5px;color:#c7ff6b;font-size:13px;font-style:normal;font-weight:800}.idea-match-actions{display:grid;gap:12px;margin-top:18px}.idea-match-actions>.btn{justify-self:start}.idea-match-actions .formgrid{gap:8px}.idea-match-actions .fine{margin:0}@media(max-width:620px){.idea-match-grid{grid-template-columns:1fr}.idea-choice{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center}.idea-choice .gamecard-art{margin:0}.idea-choice-body strong{font-size:17px}}

/* The first screen is a playable recommendation, with creation one step away. */
.hero{align-items:start;padding:38px 0 52px}.hero h1{font-size:clamp(45px,5.5vw,76px);margin:9px 0 12px}.hero-copy>p{margin:0;font-size:16px;line-height:1.45}.heroart{height:550px}.heroactions{margin-top:14px}.quickplay{margin-top:24px;padding:20px;border:1px solid #c7ff6b45;border-radius:23px;background:#202838;box-shadow:0 20px 48px #0004}.quickplay h2{margin:5px 0 16px;font-size:22px;letter-spacing:-.03em}.quickcontrols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quickcontrols label{display:grid;gap:6px;font-size:12px;color:#cbd4da}.quickcontrols .select{padding:10px 12px}.quickgames{display:grid;gap:8px;margin-top:13px}.quickgame{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:11px;padding:7px;border:1px solid #ffffff1b;border-radius:14px;background:#171f2b}.quickgame .gamecard-art{width:68px;height:53px;aspect-ratio:auto;margin:0;border-radius:9px}.quickgame>div:not(.gamecard-art){display:grid;gap:3px;min-width:0}.quickgame strong{font-size:13px}.quickgame span{font-size:11px;color:#b8c2c9}.quickgame .btn{padding:10px 12px;border-radius:10px;font-size:12px;white-space:nowrap}.cardfoot>div{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.cardfoot .btn{padding:10px 12px;font-size:13px}.lobby-start{padding:20px;border:1px solid #c7ff6b4d;border-radius:18px;background:#1a2831}.lobby-start h2{margin:5px 0}.lobby-start .invitebox{margin:14px 0 9px}.lobby-start .notice{margin:14px 0 9px}.lobby-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.lobby-scenes{margin-top:24px}.lobby-scenes .filters{margin:9px 0}.lobby-editor{margin-top:22px;padding:16px;border:1px solid #ffffff2b;border-radius:15px;background:#171c29}.lobby-editor summary{cursor:pointer;font-weight:700;color:#e6f2d9}.lobby-editor .formgrid{margin-bottom:0}.mobile-room-tabs{display:none}
.room-members{margin-top:22px;padding:13px;border:1px solid #ffffff29;border-radius:14px}.room-members summary{cursor:pointer;font-weight:700}.room-members .invitebox{margin:12px 0}.room-members .btn{width:100%}
.lobby-actions [data-action="start-no-detail"]:hover:not(:disabled){background:#dcff9e;color:#152019}
@media(max-width:850px){.mobile-tab-game>.sidepanel,.mobile-tab-chat>.roommain{display:none}.mobile-room-tabs{position:fixed;z-index:4;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px max(18px,env(safe-area-inset-left)) calc(9px + env(safe-area-inset-bottom));background:#151b28ee;border-top:1px solid #ffffff25;backdrop-filter:blur(12px)}.mobile-room-tabs button{min-height:45px;border:0;border-radius:12px;background:#2a3241;color:#c8d0d8;font-weight:800}.mobile-room-tabs button.active{background:#c7ff6b;color:#17221a}.unread-count{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:99px;background:#ffb693;color:#2a1a1a;font-size:11px}.roomlayout:not(.room-lobby){padding-bottom:110px}.roomjump{display:none}.roomchatback{display:none}}
@media(max-width:620px){.hero{padding:18px 0 35px}.hero h1{font-size:41px;line-height:1.05}.hero-copy>p{font-size:14px}.heroart{display:none}.quickplay{margin-top:16px;padding:15px;border-radius:18px}.quickplay h2{font-size:20px;margin-bottom:12px}.quickgame{grid-template-columns:54px minmax(0,1fr) auto;gap:7px}.quickgame .gamecard-art{width:54px;height:47px}.quickgame .btn{padding:9px 10px;font-size:11px}.quickgame strong{font-size:12px}.quickgame span{font-size:10px}.heroactions .btn{padding:10px 12px;font-size:12px}.cardfoot{align-items:flex-start;flex-direction:column}.cardfoot>div{justify-content:flex-start}.idea-choice .btn{padding:9px 11px;font-size:12px}}

.game-guide{margin:20px 0 0;padding:17px 19px;border:1px solid #c7ff6b55;border-radius:17px;background:#1b2b32}.game-guide-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.game-guide h2{margin:3px 0 0;font-size:20px;line-height:1.2}.game-guide .btn{flex:none;padding:9px 12px;font-size:12px}.game-guide-steps{display:grid;gap:9px;margin:15px 0 0;padding-left:22px;color:#e5eadf;font-size:14px;line-height:1.5}.game-guide-steps li{padding-left:3px}.game-guide-steps li::marker{color:#c7ff6b;font-weight:800}.game-guide-steps[hidden]{display:none}@media(max-width:620px){.game-guide{padding:15px}.game-guide h2{font-size:18px}.game-guide .btn{white-space:normal;text-align:center}}

.party-game { padding: 1rem; border-radius: 18px; background: #1a2735; color: #f6f3e9; }
.party-grid { display: grid; gap: 6px; max-width: 420px; margin: 1rem 0; }
.mosaic-grid { grid-template-columns: repeat(6, 1fr); }
.hide-grid, .cargo-grid { grid-template-columns: repeat(3, 1fr); }
.party-cell { min-width: 0; min-height: 48px; padding: 6px; }
.mosaic-grid .party-cell { aspect-ratio: 1; border: 1px solid #b7b2aa; }

/* In-game sets: progress and player work remain the focus. */
.party-game{max-width:760px;margin:auto}.party-game h2{font-size:clamp(27px,4vw,40px);letter-spacing:-.04em;margin:8px 0 14px}.party-game p{line-height:1.6}.party-cell{min-width:0}.party-cell small{display:block;margin-top:6px;font-size:11px}.mosaic-easel{padding:24px;background:linear-gradient(145deg,#926c50,#493c35);border:1px solid #d9b48b66;border-radius:22px;box-shadow:0 20px 40px #080b1866,inset 0 0 0 7px #352c29}.mosaic-easel .mosaic-grid{gap:4px;max-width:420px;margin:auto;background:#29343c;padding:8px;border-radius:8px}.mosaic-easel .party-cell{aspect-ratio:1;padding:0;min-height:0;border-radius:4px;box-shadow:inset 0 2px 0 #fff5,inset 0 -3px 0 #0001}.studio-palette{display:flex;justify-content:center;gap:14px;padding:20px}.studio-palette i{width:25px;height:25px;border-radius:50%;box-shadow:0 3px 8px #0006}.hide-village{padding:24px 16px;background:radial-gradient(ellipse at 70% 0,#7b87aa88,transparent 55%),linear-gradient(#26374c,#264f49);border:1px solid #b5d4c94d;border-radius:24px}.hide-village .party-cell{display:grid;justify-items:center;padding:18px 4px;background:linear-gradient(#5e8475,#385447);border:1px solid #c2dbc366;border-radius:28px 28px 13px 13px;box-shadow:0 8px 0 #172f3580;color:#fff3dc;font-size:12px;line-height:1.3}.hide-village .party-cell:disabled{opacity:.72}.village-icon{font-size:clamp(28px,5vw,43px);margin-bottom:10px;filter:drop-shadow(0 6px 3px #132d3b66)}.cargo-landscape{height:230px;position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(#738bad,#edbd91 65%,#647866 66%);border:1px solid #ffffff30}.cargo-sun{position:absolute;width:65px;height:65px;border-radius:50%;background:#ffde9c;right:12%;top:24px;box-shadow:0 0 70px #ffda8c}.cargo-cart{position:absolute;bottom:49px;left:12%;width:76%;height:94px;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:18px solid #76554a;transform:rotate(var(--tilt));transform-origin:center bottom;transition:transform .4s;z-index:1}.cargo-cart:before,.cargo-cart:after{content:'';position:absolute;bottom:-42px;width:34px;height:34px;border:7px solid #303944;border-radius:50%;background:#a9bec0;left:12%;box-sizing:border-box}.cargo-cart:after{left:auto;right:12%}.cargo-stack{display:flex;flex-direction:column-reverse;align-items:center;border-right:1px dashed #fff8}.cargo-stack:last-child{border:0}.parcel{display:block;background:#cba273;border:2px solid #795e47;border-radius:5px;min-width:45px;padding:2px 8px;color:#322e31;text-align:center;font-weight:800;box-shadow:inset 0 0 0 3px #edc596}.parcel small{font-size:9px;margin-left:3px}.cargo-road{height:16px;position:absolute;bottom:10px;left:0;right:0;background:#293e44;border-top:3px dashed #b4b990}.balance-scale{display:flex;align-items:center;gap:14px;margin-top:24px;color:#aebbc4}.balance-scale>div{position:relative;flex:1;height:9px;border-radius:9px;background:linear-gradient(90deg,#dc9a85,#b4db9a 40% 60%,#dc9a85)}.balance-scale i{position:absolute;top:-4px;height:17px;width:5px;border:1px solid #fff;background:#172334;transform:translateX(-50%);transition:left .4s}.creation-album{margin:22px 0;padding:22px;background:#ede4d3;color:#34363c;border-radius:18px;box-shadow:0 10px 30px #0003}.creation-album .eyebrow{color:#77645a}.creation-album h2{font-size:24px;margin:8px 0 20px}.album-pages{display:grid;gap:14px}.album-pages article{position:relative;padding:18px 18px 18px 54px;background:#fffaf0;border:1px solid #cfbea5;border-radius:4px 15px 15px 4px;overflow-wrap:anywhere}.album-number{position:absolute;left:14px;top:18px;font-size:16px;color:#a18664}.album-pages blockquote{margin:0;font:600 18px/1.5 Georgia,serif}.album-pages p{margin:8px 0 0;font-size:12px;color:#766c61}.journey-strip{display:flex;gap:6px;margin:16px 0}.journey-strip span{flex:1;padding:8px 4px;border-radius:8px;background:#ffffff0d;text-align:center;color:#9da8b9;font-size:12px}.journey-strip .done{background:#c7ff6b24;color:#d6eebd}.board-story{border-left:3px solid #c7ff6b}.farm-plot.stage-3{box-shadow:0 0 22px #d6f5ac33}.cluegrid .clue{position:relative;border-top:3px solid #b8c9b0;background:linear-gradient(145deg,#354154,#283348);box-shadow:0 8px 20px #07101d33}.clue.shared{opacity:.8}.cluegrid{counter-reset:evidence}.cluegrid .clue:before{counter-increment:evidence;content:'0' counter(evidence);display:block;color:#c5d7ab;font:700 12px monospace;margin-bottom:10px}.table-board{background-image:linear-gradient(140deg,#b59465,#654b3d);border:5px solid #886b50}.card-table{min-height:180px;border:8px solid #715c4b;box-shadow:inset 0 0 0 2px #cbb48766,0 16px 30px #0004}.drawing-canvas{border:8px solid #8e7865;box-shadow:inset 0 0 0 2px #c4b599,0 16px 35px #0004}
@media(max-width:620px){.mosaic-easel{padding:14px}.hide-village{padding:16px 9px;gap:8px}.hide-village .party-cell{padding:12px 3px;font-size:11px}.cargo-landscape{height:205px}.creation-album{padding:16px}.album-pages blockquote{font-size:16px}.journey-strip span{font-size:10px}.card-table{border-width:5px}}
@media(prefers-reduced-motion:reduce){.cargo-cart,.balance-scale i{transition:none}}
.discovery-journal{padding:18px 20px;border-radius:16px;background:#18232e;border:1px solid #c5d2b32b;margin:12px 0}.discovery-journal summary{color:#d9e6cb;font-weight:700;cursor:pointer}.discovery-journal p{display:grid;gap:5px;margin:16px 0;padding-left:14px;border-left:2px solid #98b1a4;font-size:13px;line-height:1.6}.discovery-journal p span{color:#b6c2ca}.garden-journal{display:grid;gap:9px;margin:14px 0}.garden-journal article{display:flex;align-items:center;gap:15px;padding:14px;border:1px solid #d4dfba22;border-radius:13px;background:#263b3e}.garden-journal article>span{font-size:30px;color:#eadcaf}.garden-journal strong{font-size:13px}.garden-journal p{font-size:12px;color:#becdcb;line-height:1.5;margin:5px 0 0}

.mosaic-easel .party-cell:disabled{opacity:1}.party-game button:focus-visible{outline:3px solid #f2e6ad;outline-offset:3px}
.creation-album summary{cursor:pointer;list-style:none}.creation-album summary:after{content:'⌄';float:right;margin-top:-38px;font-size:22px;color:#796a59}.creation-album:not([open]) h2{margin-bottom:0}.creation-album:not([open]) summary:after{content:'+'}

/* Game rooms: consistent controls, distinct materials and restrained accents. */
#room-game-panel {
  --game-accent: #c2d8b4;
  --game-glow: #68856b;
  background: radial-gradient(ellipse at 100% 0, color-mix(in srgb, var(--game-glow) 24%, transparent), transparent 440px), #1b2230;
  border-color: #ffffff1c;
  box-shadow: 0 24px 70px #05091240, inset 0 1px 0 #ffffff09;
  padding: clamp(20px, 3vw, 38px);
}
#room-game-panel[data-game="mosaic-mates"]{--game-accent:#edc8b0;--game-glow:#af7d73}
#room-game-panel[data-game="color-hideout"]{--game-accent:#b9d7cc;--game-glow:#518c80}
#room-game-panel[data-game="parcel-pals"]{--game-accent:#eec69c;--game-glow:#a87c53}
#room-game-panel[data-game="connect-four"]{--game-accent:#e7caa1;--game-glow:#876e4e}
#room-game-panel[data-game="gomoku"]{--game-accent:#d8cab4;--game-glow:#7e806d}
#room-game-panel[data-game="color-eights"]{--game-accent:#aad8c6;--game-glow:#397c6e}
#room-game-panel[data-game="doodle-relay"]{--game-accent:#c8c6ee;--game-glow:#7771a1}
#room-game-panel[data-game="friend-farm"]{--game-accent:#d2dca6;--game-glow:#778953}
#room-game-panel[data-game="clocktower-escape"]{--game-accent:#e7c79b;--game-glow:#937349}
#room-game-panel[data-game="starlight-garden"]{--game-accent:#b5d8c7;--game-glow:#52877b}
#room-game-panel[data-game="hidden-treasure-map"]{--game-accent:#c9dcb3;--game-glow:#4c8375}
#room-game-panel[data-game="sky-island-rescue"]{--game-accent:#c9d7f1;--game-glow:#748caf}
#room-game-panel[data-game="last-train-loop"]{--game-accent:#bfc9e7;--game-glow:#646a9c}
#room-game-panel[data-game="dream-park"]{--game-accent:#e0bee8;--game-glow:#986b9e}
#room-game-panel[data-game="monster-movie"]{--game-accent:#dfc39e;--game-glow:#9c755b}
#room-game-panel[data-game="midnight-diner"]{--game-accent:#e1b69f;--game-glow:#a47460}
#room-game-panel[data-game="station-blackout"]{--game-accent:#a9d8e6;--game-glow:#4e87a0}
#room-game-panel[data-game="museum-after-hours"]{--game-accent:#e0cfaf;--game-glow:#8b7a61}
#room-game-panel[data-game="product-pitch"]{--game-accent:#dec0d1;--game-glow:#97667c}
#room-game-panel[data-game="future-headlines"]{--game-accent:#bdd7df;--game-glow:#627d94}
#room-game-panel[data-game="club-night"]{--game-accent:#cfc1e8;--game-glow:#826da1}
#room-game-panel>.eyebrow{color:var(--game-accent);font-size:10px;letter-spacing:.14em;line-height:1.8}
#room-game-panel .roomcode{padding:3px 8px;border:1px solid #ffffff20;border-radius:6px;color:#c9d1dc;white-space:nowrap}
#room-game-panel>h1{font-size:clamp(30px,4.2vw,50px);line-height:1.12;letter-spacing:-.045em;margin:15px 0 10px;max-width:19ch}
#room-game-panel>.lead{font-size:14px;line-height:1.7;max-width:55ch;color:#b2bdcc;margin-bottom:22px}
#room-game-panel>.notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#ffffff06;border:1px solid #ffffff13;font-size:12px;color:#bdc9bc}
#room-game-panel>.notice .btn{padding:8px 12px;font-size:11px}
#room-game-panel .btn{border-radius:11px;transition:background .15s,box-shadow .15s,transform .15s}
#room-game-panel .btn.secondary:not(.party-cell){background:#303a49;border:1px solid #ffffff16;box-shadow:inset 0 1px 0 #ffffff07;color:#edf1ed}
#room-game-panel .btn.secondary:not(.party-cell):hover:not(:disabled){background:#3c4858;border-color:#ffffff35}
#room-game-panel button:focus-visible,#room-game-panel summary:focus-visible{outline:3px solid var(--game-accent);outline-offset:3px}
#room-game-panel .textinput{background:#121c29;border-color:#ffffff26;border-radius:12px;line-height:1.5}
#room-game-panel .textinput:focus{border-color:var(--game-accent);box-shadow:0 0 0 3px #ffffff08}
#room-game-panel .game-guide{border-color:#ffffff1c;background:#ffffff05;box-shadow:none}
#room-game-panel .gamearea{margin-top:24px}
#room-game-panel .gamearea h2{letter-spacing:-.025em;line-height:1.3}
#room-game-panel .scene-panel{border-radius:20px;border-color:#ffffff23;box-shadow:0 14px 35px #0003}
#room-game-panel .scene-top{padding:15px 18px;background:#141d29;gap:9px}
#room-game-panel .scene-kicker{font-size:9px;color:var(--game-accent)}
#room-game-panel .scene-top strong{font-size:14px}
#room-game-panel .scene-live{background:var(--game-accent);box-shadow:0 0 10px var(--game-accent)}
#room-game-panel .scene-visual{height:auto;aspect-ratio:16/9}
#room-game-panel .scene-footer{background:#151f2b;padding:15px 18px}
#room-game-panel .scene-footer progress::-webkit-progress-value{background:var(--game-accent)}
#room-game-panel .scene-footer progress::-moz-progress-bar{background:var(--game-accent)}
#room-game-panel .clue{border:1px solid #d2c2a335;border-top:3px solid #bbad90;border-radius:4px 14px 14px 4px;background:linear-gradient(135deg,#313c48,#25313e);padding:19px;box-shadow:0 8px 18px #080f1c33}
#room-game-panel .clue p{font-size:14px;line-height:1.75;color:#e1e4df}
#room-game-panel .clue .btn{font-size:12px;min-height:40px}
#room-game-panel .shareditem{border:1px solid #ffffff13;padding:15px;background:#15202d;line-height:1.65}
#room-game-panel .option{border:1px solid #ffffff1b;background:#27313f;padding:16px;line-height:1.5;cursor:pointer;transition:background .15s}
#room-game-panel .option:has(input:checked){border-color:var(--game-accent);background:#34444b}
#room-game-panel .option input{flex-shrink:0;accent-color:var(--game-accent)}
#room-game-panel .answer{border-color:#ffffff20;background:linear-gradient(135deg,#303a4b,#25303e);padding:19px;box-shadow:0 7px 18px #080f1c33}
#room-game-panel .answer p{font-size:16px;line-height:1.7}
#room-game-panel .revealrow{background:#263240;border-color:#ffffff1a;border-left:3px solid var(--game-accent);padding:18px;line-height:1.65}
#room-game-panel .result{background:radial-gradient(ellipse at top right,#799a632d,transparent 75%),#25352f;border:1px solid #aacb8f45;box-shadow:0 12px 25px #07100c33;padding:23px}
#room-game-panel .result.bad{background:#3c2d35;border-color:#b9859455}
#room-game-panel>.roomcontent{padding-top:25px;border-top:1px solid #ffffff14;margin-top:32px}
.table-seats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.table-seat{display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid #ffffff15;background:#141e2a;border-radius:12px;min-width:0}
.table-seat strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.table-seat.current{border-color:#c5d4ad80;background:#2c3b38}
.table-seat>span{color:#c7dba8;margin-left:auto;font-size:10px}
.seat-piece{width:22px;height:22px;flex:none;border-radius:50%;box-shadow:inset 0 2px 2px #fff4,0 3px 6px #0005}
.seat-0{background:linear-gradient(135deg,#f1cfac,#b46f53)}.seat-1{background:linear-gradient(135deg,#c3dce7,#498095)}
[data-mechanic="gomoku"] .seat-0{background:linear-gradient(135deg,#63717a,#101820)}
[data-mechanic="gomoku"] .seat-1{background:linear-gradient(135deg,#fff,#ccc7bc)}
.tabletop-game .table-board{margin:8px auto 12px;border-radius:18px;padding:18px;background:repeating-linear-gradient(3deg,#ffffff05 0 1px,transparent 2px 9px),linear-gradient(135deg,#bda27b,#7b6147);border:6px solid #826a50;box-shadow:0 18px 30px #0005,inset 0 0 0 2px #ddc6a455}
.tabletop-game .table-cell:disabled{opacity:1}.tabletop-game .table-cell.last{outline:2px solid #f3e5a1;outline-offset:-2px}
.tabletop-game .gomoku-board{background:repeating-linear-gradient(5deg,#6d4c2310 0 1px,transparent 2px 8px),linear-gradient(135deg,#ddc49b,#b59265)}
.card-table{background:radial-gradient(ellipse at center,#3a6c63,#1a403d);border-color:#7d6650;border-radius:24px;min-height:210px}
.card-opponents span{padding:9px 13px;background:#172a2c;border-color:#6a958766;font-size:12px}
.card-hand{gap:12px;padding:16px 0 10px}.playing-card{width:90px;height:126px;border:3px solid #f1eadb;border-radius:12px;box-shadow:0 5px 0 #0d1922,0 12px 20px #0004;background-image:linear-gradient(135deg,#ffffff1c,#0000000d)}
.playing-card>span{border:2px solid #ffffff80;border-radius:50%;padding:3px 11px;transform:rotate(-15deg);font-size:23px}.playing-card strong{font-size:26px}.playing-card:disabled{opacity:.82}
.wild-choices{display:grid;grid-template-columns:44px 44px;gap:2px}.color-choice{width:44px;height:44px;color:#fff;font-size:13px;border-radius:8px;text-shadow:0 1px 2px #0008}
.drawing-game .drawing-canvas{border:10px solid #b0a28e;background:#202b44;border-radius:13px;box-shadow:0 18px 36px #0004,0 0 0 1px #d5c5ac55}
.drawing-palette{padding:13px 17px;background:#151e2b;border:1px solid #ffffff14;border-radius:30px;width:max-content;max-width:100%;gap:13px}
.drawing-swatch{width:40px;height:40px;box-shadow:inset 0 2px 4px #fff6,0 3px 5px #0004}
.farm-stage,.board-stage{border:1px solid #d3dfc54d;box-shadow:0 16px 38px #0004;border-radius:22px}
.farm-plot{background:linear-gradient(155deg,#375d4ee8,#203d35ee);border:1px solid #c9d8a06b;box-shadow:0 7px 0 #19342bd9,0 15px 24px #10271a66}
.farm-plot.stage-3{background:linear-gradient(155deg,#697f50,#3c6247)}
.farm-crop{font-size:38px;filter:drop-shadow(0 5px 3px #102a2466)}
.farm-plot .btn{min-height:40px}.garden-slot{border-radius:38px 38px 15px 15px;background:linear-gradient(145deg,#597b60ee,#224843ee);border-color:#c5e1c088;box-shadow:0 8px 0 #203f39,0 16px 25px #082c2d88}
.garden-slot.stage-3{background:linear-gradient(145deg,#82945f,#3c705d)}
.board-slot:disabled{opacity:.92}.board-slot small{color:#e4eee0}
.map-slot{border-radius:13px;border:1px solid #b7d7cb66;background:#1d3b43ee;backdrop-filter:none;box-shadow:0 6px 0 #102d34,0 12px 20px #071f2966}
.map-slot.found{background:linear-gradient(135deg,#efe3be,#c4c89c);border-color:#e3dfbe;color:#293f3c}
.map-slot.treasure{background:linear-gradient(135deg,#f4de9d,#cab678);border-color:#fff0b1}
.map-slot.active{background:#3d6b65;border:2px solid #c6e5bd}.map-slot.locked{background:#152e38;color:#8fa7ae}
.adventure-stage{border-radius:22px;box-shadow:0 20px 40px #0005}.adventure-stage img{filter:saturate(.94)}
.adventure-marker{background:#e5eac0;color:#29372b;border-color:#fff7da;box-shadow:0 0 0 6px #fff1b333,0 6px 18px #0005}
.marker-label{background:#12212dee;border:1px solid #ffffff40;box-shadow:0 5px 12px #0004;font-weight:600;line-height:1.35}
.adventure-story{background:linear-gradient(120deg,#2c3c44,#24323d);border-color:#acbfac35;border-left:3px solid #bccea9}
.journey-strip{gap:8px}.journey-strip span{border:1px solid #ffffff12;padding:10px 6px}.journey-strip .done{background:#80957720;border-color:#adbf8b44;color:#d3dfc5}
.party-game{border:1px solid #ffffff17;background:radial-gradient(ellipse at top,#4a647329,transparent 70%),#172330;padding:24px;border-radius:22px}
.party-mosaic{background:radial-gradient(ellipse at top,#78635044,transparent 70%),#202c36}.party-hideout{background:linear-gradient(#253a44,#1c3039)}.party-cargo{background:linear-gradient(#2b3541,#1b2935)}
.mosaic-easel{border-radius:18px;padding:25px;box-shadow:0 15px 32px #0005,inset 0 0 0 5px #3a3029}
.hide-village{border-color:#b3c8c33b;box-shadow:inset 0 20px 45px #10293633}.hide-village .party-cell{transition:transform .15s,border-color .15s}.hide-village .party-cell:hover:not(:disabled){transform:translateY(-3px);border-color:#edf1d3;background:linear-gradient(#6b9180,#456555)}
.creation-album{background:repeating-linear-gradient(0deg,transparent 0 27px,#8a795909 28px),#e9e2d3;border:1px solid #c9baa0;box-shadow:0 12px 26px #0003;border-radius:8px 18px 18px 8px;border-left:6px solid #aa9272}
[data-game="monster-movie"] .creation-album{border-left-color:#56505e}[data-game="future-headlines"] .creation-album{border-left-color:#789296}[data-game="dream-park"] .creation-album{border-left-color:#a282a2}[data-game="club-night"] .creation-album{border-left-color:#8c80a5}
.roomlayout>.sidepanel{background:#19212e;border-color:#ffffff16;box-shadow:0 18px 45px #05091225;padding:20px}.chatwindow{border-radius:18px;border-color:#ffffff1b;box-shadow:none}.chatmsg{border-radius:14px}.chatmsg.own{background:#344339}.chatcomposer{padding:12px}
@media(min-width:851px){.roomlayout{gap:24px;align-items:start}.roomlayout>.sidepanel{position:sticky;top:20px}.tabletop-game{margin:auto}}
@media(max-width:620px){
  #room-game-panel{padding:20px 15px;border-radius:22px}#room-game-panel>h1{font-size:34px}#room-game-panel>.lead{font-size:13px}
  #room-game-panel .scene-top{padding:12px;grid-template-columns:minmax(0,1fr) 8px}#room-game-panel .scene-kicker{display:none}#room-game-panel .scene-footer{padding:12px}
  #room-game-panel .gamearea h2{font-size:25px}.party-game{padding:17px 12px}.party-game h2{font-size:26px}
  .tabletop-game .table-board{padding:9px;border-width:4px;gap:3px}.tabletop-game .gomoku-board{gap:0;padding:6px}
  .table-seats{gap:8px}.table-seat{padding:10px 9px;gap:7px}.table-seat strong{font-size:12px}.seat-piece{width:19px;height:19px}
  .drawing-palette{gap:10px;padding:12px}.drawing-swatch{width:36px;height:36px}.drawing-game .drawing-canvas{border-width:7px}
  .card-table{min-height:190px;padding:16px;gap:17px}.playing-card{width:90px;height:120px}.card-hand{gap:10px}
  .farm-crop{font-size:30px}.farm-plot{padding:10px 6px}.garden-slot{border-radius:24px 24px 12px 12px}.garden .board-grid{gap:7px}.garden-slot small{font-size:10px}
  .creation-album{padding:16px 13px}.creation-album h2{font-size:21px}.roomlayout>.sidepanel{padding:15px}
}
@media(prefers-reduced-motion:reduce){#room-game-panel button{transition:none}.hide-village .party-cell:hover:not(:disabled){transform:none}}
#room-game-panel .gamearea .eyebrow{color:var(--game-accent)}
#room-game-panel .mosaic-grid .party-cell{border-radius:4px}
@media(max-width:620px){
  [data-scene-target="lanterns"] .marker-label,[data-preview-scene-target="lanterns"] .marker-label,[data-scene-target="ember"] .marker-label,[data-preview-scene-target="ember"] .marker-label{left:0;transform:none}
  [data-scene-target="far-beacon"] .marker-label,[data-preview-scene-target="far-beacon"] .marker-label{left:auto;right:0;transform:none}
}
.tabletop-game .gomoku-board .table-cell{border:0;border-radius:0}
.color-choice{text-transform:capitalize;font-size:11px}
.farm-stage{background-image:linear-gradient(180deg,#142a2408 0%,#142a2430 30%,#142a24cc 100%),url('/images/friend-farm-cover.webp');padding-top:160px;background-position:center top}
.board-stage.garden{background-image:linear-gradient(180deg,#142a2408,#142a2499),url('/images/starlight-garden-cover.webp')}
.board-stage.map:not(.cavern){background-image:linear-gradient(180deg,#102e3a22,#102e3a88),url('/images/hidden-treasure-map-cover.webp')}
@media(max-width:620px){.farm-stage{padding-top:150px}.board-stage.garden{min-height:340px}.garden .board-grid{margin-top:130px}}
/* Labels must never cover a neighboring scene target on small screens. */
.marker-label{pointer-events:none}

/* Clocktower: illustrated rooms with unobstructed hotspots and an object tray. */
.clockwork-game{display:grid;gap:20px;--clock-gold:#dfbd82;--clock-ink:#17232c}
.clockwork-heading{padding:4px 0}.clockwork-heading .eyebrow{color:#dfbd82!important;letter-spacing:.16em;font-size:10px}
.clockwork-heading h2{font-family:Georgia,'Songti SC',serif;font-weight:500;font-size:clamp(28px,4vw,42px)!important;color:#f2e7d2;margin:10px 0}
.clockwork-heading p{font-size:14px;line-height:1.7;color:#bfc6c9;margin:0}
.clockwork-chapters{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;border-bottom:1px solid #cda56a30;gap:12px}
.clockwork-chapters li{display:flex;align-items:center;gap:9px;padding:0 0 13px;color:#9da7ae;font-size:12px;line-height:1.5;border-bottom:2px solid transparent}
.clockwork-chapters li>span{font-size:11px;color:#bca482}.clockwork-chapters .current{color:#f2dfbd;border-color:#d6b37a}.clockwork-chapters .finished{color:#abc5b3}
.clockwork-stage{position:relative;aspect-ratio:16/9;border:1px solid #dab87966;border-radius:16px;overflow:hidden;background:#15262e;box-shadow:0 18px 45px #0005,0 0 0 5px #d5b07508}
.clockwork-stage>img{display:block;width:100%;height:100%;object-fit:cover}.clockwork-stage:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#08131ab3);pointer-events:none}
.clockwork-scene-caption{position:absolute;bottom:14px;left:18px;color:#f5e8ce;font-size:9px;letter-spacing:.16em;z-index:1;pointer-events:none;text-shadow:0 1px 4px #000}
.clockwork-hotspot{position:absolute;z-index:2;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;border:1px solid #ffdf9e;background:#17232ee8;color:#ffe4ad;font:600 16px Georgia,serif;box-shadow:0 0 0 5px #ffcf6d26,0 5px 14px #0008;cursor:pointer;transition:background .15s,box-shadow .15s}
.clockwork-hotspot.active:hover{background:#806231;box-shadow:0 0 0 8px #ffcf6d30,0 5px 14px #0008}.clockwork-hotspot.locked{background:#192632db;border-color:#a4b0b6;color:#cad0d3;box-shadow:none;opacity:.85}.clockwork-hotspot.done{color:#cee2bf;border-color:#b4cea1;background:#294236}
.clockwork-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.clockwork-object{display:flex;gap:12px;align-items:center;text-align:left;padding:16px;border:1px solid #d9b67469;border-radius:12px;background:linear-gradient(135deg,#3c3931,#252e34);color:#f0e1c6;cursor:pointer;min-width:0}
.clockwork-object>span:nth-child(2){flex:1;min-width:0}.clockwork-object strong{display:block;font-size:13px;line-height:1.5;font-weight:600}.clockwork-object small{display:block;margin-top:5px;font-size:10px;color:#bdc3c4}
.clockwork-object-number{font:italic 22px Georgia,serif;color:#d7b57e}.clockwork-object.active:hover{border-color:#f2d49e;background:#454036}.clockwork-object.locked{background:#1b2731;border-color:#ffffff15;color:#aab5bd;opacity:1;cursor:default}.clockwork-object.done{background:#20322f;border-color:#adc7a333;cursor:default}
.clockwork-story{display:flex;align-items:flex-start;gap:16px;padding:22px;border:1px solid #d9b6742e;border-radius:12px;background:linear-gradient(120deg,#36372f,#222e34)}
.clockwork-story>span{font-size:28px;color:#dfbd82}.clockwork-story .eyebrow{font-size:9px;letter-spacing:.16em;color:#dfbd82!important}.clockwork-story p{margin:8px 0 0;font-size:15px;line-height:1.8;color:#e0e4df}
.clockwork-history{border-top:1px solid #ffffff15;padding-top:16px;color:#aebbc3;font-size:12px}.clockwork-history summary{cursor:pointer;padding:6px 0}.clockwork-history p{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid #ffffff0d;line-height:1.7}.clockwork-history strong{color:#d9bd8c}
@media(max-width:620px){.clockwork-game{gap:16px}.clockwork-chapters{gap:8px}.clockwork-chapters li{display:grid;gap:4px;font-size:11px}.clockwork-stage{aspect-ratio:16/9}.clockwork-controls{grid-template-columns:1fr}.clockwork-object{padding:13px 15px}.clockwork-story{padding:17px;gap:12px}.clockwork-story p{font-size:14px}.clockwork-scene-caption{bottom:10px;left:12px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.clockwork-hotspot{transition:none}}
