:root{--paper:#f5f0e7;--ink:#282923;--muted:#77776d;--line:#ddd7cb;--pink:#ff6f75;--butter:#f6d967;--lilac:#c3b2ed;--mint:#a7d9bc;--white:#fffdf8;--dark:#262822;--mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif;--display:'Space Grotesk',sans-serif;--shadow:0 12px 35px #34291b0a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px var(--sans);min-height:100vh}button,input{font:inherit}button{color:inherit}.grain{position:fixed;inset:0;z-index:5;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E")}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,6vw,90px);border-bottom:1px solid var(--line);position:relative;z-index:2}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font:700 18px var(--display);letter-spacing:-.7px}.brand-mark{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:#fff;font:17px var(--display);letter-spacing:-2px}.brand-mark span{font-size:11px;color:var(--butter);margin-left:-2px}.brand-soft{font-weight:400;color:#888779}.top-note,.top-link,.eyebrow,.footer,.mono{font-family:var(--mono);font-size:9px;letter-spacing:1px}.top-note{display:flex;gap:9px;align-items:center;color:#63635b}.live-dot{width:7px;height:7px;background:#79b895;border-radius:50%;box-shadow:0 0 0 3px #79b89520;display:inline-block}.top-spark{font-size:14px;color:var(--pink)}.top-link{text-decoration:none;color:#68685e}.top-link span{font-size:15px;color:var(--pink)}.app-shell{max-width:1320px;margin:auto;padding:46px clamp(20px,6vw,90px) 62px;min-height:calc(100vh - 130px)}.footer{height:58px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 clamp(20px,6vw,90px);color:#8d8a7f;font-size:8px}.footer-heart{color:var(--pink)}.eyebrow{font-size:9px;color:#858276;letter-spacing:1.4px;text-transform:uppercase}.landing{display:grid;grid-template-columns:minmax(300px,.96fr) minmax(390px,1.04fr);gap:clamp(35px,8vw,118px);align-items:center;max-width:1090px;margin:20px auto 0}.hero-copy{position:relative;padding:10px 0}.hero-kicker{display:flex;align-items:center;gap:9px;color:#757367;font:10px var(--mono);letter-spacing:1px;margin-bottom:20px}.kicker-chip{background:#e3dac9;border-radius:50px;padding:7px 10px;color:#5e594e}.hero-title{font:600 clamp(52px,7.8vw,98px)/.94 var(--display);letter-spacing:-7px;margin:0}.hero-title .italic{font-weight:400;font-style:italic;color:var(--pink);letter-spacing:-6px}.hero-sub{color:#77756b;font-size:15px;line-height:1.7;max-width:370px;margin:24px 0 29px}.scribble{position:absolute;right:15%;top:65px;color:var(--pink);font-size:31px;transform:rotate(16deg)}.hero-sticker{position:absolute;bottom:2px;left:80%;width:82px;height:82px;border-radius:50%;background:var(--butter);display:grid;place-items:center;text-align:center;font:10px/1.2 var(--mono);transform:rotate(10deg);border:1px solid #28292324;box-shadow:4px 4px #292923}.hero-sticker b{font:22px var(--display)}.room-panel{background:var(--white);border:1px solid #ddd7cb;border-radius:18px;padding:26px;box-shadow:var(--shadow);position:relative}.room-panel:before{content:"";position:absolute;inset:6px -6px -6px 6px;border:1px solid #ded8ce;border-radius:18px;z-index:-1}.panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid #ece7dc}.panel-head h2{font:600 18px var(--display);margin:0}.no-account{background:#ebf2e9;color:#577659;padding:7px 10px;border-radius:30px;font:9px var(--mono)}.form-label{font:9px var(--mono);letter-spacing:1px;color:#777468;display:block;margin:20px 0 8px;text-transform:uppercase}.field{width:100%;height:48px;border:1px solid #ded8cc;background:#faf8f2;border-radius:8px;padding:0 14px;color:var(--ink);outline:none;transition:.2s}.field:focus{border-color:#ee9295;box-shadow:0 0 0 3px #ff6f751c}.field::placeholder{color:#aaa79b}.room-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.btn{border:0;border-radius:8px;min-height:46px;padding:0 16px;display:inline-flex;gap:9px;justify-content:center;align-items:center;cursor:pointer;transition:transform .16s,filter .16s;font-weight:700}.btn:hover{transform:translateY(-2px);filter:saturate(1.08)}.btn-dark{background:var(--dark);color:white}.btn-pink{background:var(--pink);color:white}.btn-light{background:#efebe2;color:#4e4c44;border:1px solid #e0dacf}.btn-small{min-height:34px;padding:0 11px;font-size:11px}.btn-wide{width:100%;margin-top:11px}.panel-divider{display:flex;align-items:center;gap:10px;color:#aaa79b;font:9px var(--mono);margin:18px 0}.panel-divider:before,.panel-divider:after{content:"";height:1px;background:#ece7dc;flex:1}.join-row{display:grid;grid-template-columns:1fr 122px;gap:9px}.code-input{text-transform:uppercase;letter-spacing:3px;font:14px var(--mono)}.panel-foot{margin-top:20px;padding-top:15px;border-top:1px solid #ece7dc;display:flex;justify-content:space-between;color:#8a887e;font:9px var(--mono)}.hero-bottom{display:flex;gap:16px;align-items:center;margin-top:33px;font:9px var(--mono);color:#969286}.avatar-stack{display:flex}.avatar-stack span{width:27px;height:27px;border:2px solid var(--paper);border-radius:50%;display:grid;place-items:center;margin-right:-7px;font-size:12px}.avatar-stack span:nth-child(1){background:#ffdb96}.avatar-stack span:nth-child(2){background:#c9baf4}.avatar-stack span:nth-child(3){background:#a9d9bd}.avatar-stack span:nth-child(4){background:#f0a4ac}.landing-bottom{max-width:1090px;margin:73px auto 0;border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between}.landing-bottom .eyebrow{color:#aaa69b}.mini-pills{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.mini-pill{font:9px var(--mono);border:1px solid #dcd5c9;border-radius:30px;padding:8px 11px;color:#77746a}.mini-pill i{font-style:normal;margin-right:6px}.room-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.room-code-wrap{display:flex;align-items:center;gap:11px}.room-code-box{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--line);padding:8px 12px;border-radius:8px}.room-code-value{font:14px var(--mono);letter-spacing:3px}.copy-btn{background:none;border:0;color:#8a887d;cursor:pointer;font-size:15px}.room-status{display:flex;align-items:center;gap:8px;color:#77756b;font:9px var(--mono)}.room-status .offline{background:var(--butter);box-shadow:0 0 0 3px #f6d96730}.room-layout{display:grid;grid-template-columns:225px 1fr;gap:25px;align-items:start}.side-card{background:var(--white);border:1px solid var(--line);border-radius:13px;padding:18px}.players-title{display:flex;justify-content:space-between;font:9px var(--mono);color:#8c897e;margin-bottom:15px}.player-row,.waiting-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #efeae0}.player-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:600 14px var(--display)}.player-avatar.host{background:var(--lilac)}.player-avatar.guest{background:var(--pink);color:white}.player-name{font-weight:700;font-size:12px}.player-meta{color:#99968a;font:9px var(--mono);margin-top:4px}.waiting-row{color:#aaa69a;font-size:11px}.waiting-dot{width:32px;height:32px;border-radius:50%;border:1px dashed #d7d0c3;display:grid;place-items:center}.score-box{margin-top:18px;background:var(--paper);border-radius:9px;padding:12px;display:flex;justify-content:space-between;font:9px var(--mono);color:#77756b}.score-box strong{color:var(--ink);font:600 14px var(--display)}.main-card{min-height:560px;background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden}.welcome-band{background:var(--dark);padding:25px 29px;color:white;position:relative;overflow:hidden}.welcome-band:after{content:"✳";position:absolute;right:42px;top:-22px;color:#ffffff16;font-size:130px}.welcome-band .eyebrow{color:#c5c3b9}.welcome-band h1{font:600 clamp(25px,4vw,36px) var(--display);margin:9px 0 6px}.welcome-band p{font-size:12px;color:#c1c0b6;margin:0}.game-toolbar{display:flex;justify-content:space-between;padding:20px 25px 10px}.game-toolbar h2{margin:0;font:600 18px var(--display)}.filters{display:flex;gap:5px}.filter-btn{border:0;border-radius:20px;background:transparent;padding:8px 10px;cursor:pointer;font:9px var(--mono);color:#817e73}.filter-btn.active{background:#eee9df;color:#34352f}.game-grid{padding:8px 25px 26px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.game-card{border:1px solid #e7e1d6;border-radius:11px;overflow:hidden;cursor:pointer;text-align:left;background:#fffefa;padding:0;transition:.2s;min-width:0}.game-card:hover{transform:translateY(-4px);box-shadow:0 10px 22px #3c31200f;border-color:#d8cdbb}.game-art{height:118px;position:relative;display:grid;place-items:center;overflow:hidden}.game-art:before,.game-art:after{position:absolute}.art-doodle{background:#f5d7c8}.art-doodle:before{content:"〰";font-size:110px;color:#f28d78;transform:rotate(-22deg);top:-4px;left:24px}.art-doodle:after{content:"✎";font-size:49px;color:#383a34;right:29px;top:25px}.art-ttt{background:#c7b8ed}.art-ttt:before{content:"×";font:80px var(--display);color:#fbf8ee;top:-5px;left:36px}.art-ttt:after{content:"○";font:75px var(--display);color:#f47878;right:37px;bottom:-8px}.art-connect{background:#addbbf}.art-connect:before{content:"●  ●  ●";font-size:39px;color:#f3d568;transform:rotate(-9deg)}.art-connect:after{content:"●  ●";font-size:36px;color:#f77976;right:20px;bottom:15px}.art-wyr{background:#f6d96c}.art-wyr:before{content:"?";font:120px var(--display);color:#fff9e9;top:-23px}.art-quiz{background:#c5e0ed}.art-quiz:before{content:"♥";font-size:80px;color:#ff7478;left:31px;top:1px}.art-quiz:after{content:"?";font:52px var(--display);color:#fffdf8;right:31px;top:17px}.art-emoji{background:#f3cba5}.art-emoji:before{content:"🍒";font-size:53px;left:27px;top:32px}.art-emoji:after{content:"✨";font-size:50px;right:29px;top:23px}.art-memory{background:#f5c7d6}.art-memory:before{content:"♥  ☼";font-size:47px;color:#fff7ed;letter-spacing:8px}.art-board{background:#c3b2ed}.art-board:before{content:"✿";font-size:93px;color:#f7dc70;left:34px;top:-10px}.art-board:after{content:"↗";font:57px var(--display);color:#fff;right:32px;bottom:9px}.art-cards{background:#f4d47c}.art-cards:before{content:"♥";font-size:52px;color:#ee7076;left:59px;top:23px}.art-cards:after{content:"✦";font-size:55px;color:#fffdf5;right:51px;top:22px}.game-tag{position:absolute;z-index:1;left:10px;top:10px;border-radius:30px;background:#fffdf0bd;padding:6px 8px;font:8px var(--mono);color:#656255}.game-copy{padding:12px 13px}.game-title-row{display:flex;justify-content:space-between;align-items:center;gap:6px}.game-title{font:600 13px var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-arrow{color:var(--pink);font-size:17px}.game-desc{font-size:10px;color:#89867c;line-height:1.45;margin-top:5px}.game-info{display:flex;justify-content:space-between;margin-top:12px;padding-top:9px;border-top:1px solid #f0ece4;font:8px var(--mono);color:#aaa69a}.game-stage{padding:24px 28px}.stage-head{display:flex;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid #eee9df;margin-bottom:19px}.stage-title{font:600 24px var(--display);margin:0}.stage-desc{font-size:11px;color:#908d82;margin:5px 0 0}.back-btn{border:0;background:#f1ece2;border-radius:25px;padding:8px 12px;font:9px var(--mono);color:#77756a;cursor:pointer}.game-status{font:9px var(--mono);color:#878479;text-align:center;margin:4px 0 14px}.board{display:grid;gap:7px;justify-content:center;margin:0 auto 18px}.ttt-board{grid-template-columns:repeat(3,75px)}.board-cell{width:75px;height:75px;background:var(--paper);border:1px solid #ebe3d5;border-radius:9px;cursor:pointer;font:44px var(--display);color:var(--pink)}.board-cell:hover{background:#f5e7de}.board-cell.mark-x{color:#7b68bc}.board-cell:disabled{cursor:default}.center-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.connect-board{display:grid;grid-template-columns:repeat(7,38px);gap:5px;background:#56549a;padding:10px;border-radius:12px;width:max-content;margin:0 auto 18px}.connect-cell{width:38px;height:38px;border-radius:50%;border:0;background:#eeece6;cursor:pointer}.connect-cell.red{background:#ff7778}.connect-cell.yellow{background:#f6d967}.connect-cell:disabled{cursor:default}.question-card{max-width:520px;text-align:center;background:var(--paper);padding:25px 28px;border-radius:14px;margin:10px auto 17px}.question-card .eyebrow{color:#a19c8f}.question-text{font:600 clamp(20px,3vw,29px)/1.2 var(--display);margin:11px 0}.question-card .tiny{color:#999589;font-size:10px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:520px;margin:0 auto}.choice-card{min-height:78px;border-radius:11px;border:1px solid #e6dfd3;background:var(--white);cursor:pointer;font:600 13px var(--display);padding:15px}.choice-card:hover{border-color:var(--pink)}.choice-card.chosen{border:2px solid var(--pink);background:#fff3f1}.choice-card:disabled{cursor:default;opacity:.8}.vote-results,.answer-reveal{max-width:480px;margin:15px auto}.result-row{display:flex;justify-content:space-between;padding:10px 13px;margin:6px 0;background:var(--paper);border-radius:8px;font-size:12px}.result-match{text-align:center;color:#6d8a69;font:10px var(--mono);margin:13px}.answer-form{max-width:475px;margin:12px auto;display:grid;grid-template-columns:1fr auto;gap:8px}.answer-reveal .result-row{align-items:flex-start;gap:10px}.answer-reveal .result-row strong{font:11px var(--mono);text-align:right;color:#5d5a50;max-width:67%}.emoji-prompt{font-size:55px;letter-spacing:7px;text-align:center;padding:13px}.emoji-guesses{max-width:470px;margin:13px auto}.guess-list{display:grid;gap:5px;margin-top:15px}.guess-row{font-size:11px;padding:8px 11px;background:#f4f0e8;border-radius:7px}.guess-row strong{color:#e35561;margin-right:6px}.canvas-wrap{max-width:600px;margin:0 auto 14px}.draw-canvas{width:100%;height:270px;border:1px solid #e5ded1;border-radius:10px;background:#fffefa;touch-action:none;cursor:crosshair;display:block}.drawer-clue{text-align:center;background:var(--paper);border-radius:9px;padding:10px;font-size:12px;margin-bottom:10px}.drawer-clue strong{color:#e35561}.guess-input-row{display:flex;gap:8px;max-width:520px;margin:10px auto}.guess-input-row input{flex:1}.boardgame{max-width:530px;margin:5px auto}.board-track{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:15px}.board-space{min-height:68px;background:#f3eee5;border-radius:8px;padding:7px 4px;text-align:center;border:1px solid #e7dfd2;position:relative}.board-space.finish{background:#e7f2e5}.board-space.current-host{border:2px solid #8b7bc4}.board-space.current-guest{border:2px solid var(--pink)}.space-num{font:8px var(--mono);color:#aaa497}.space-icon{font-size:17px;margin-top:5px}.space-label{font-size:8px;color:#898579;margin-top:2px}.board-player-icons{font-size:10px;position:absolute;right:4px;top:4px}.dice{font-size:37px;color:#8f7cc8;text-align:center}.memory-board{display:grid;grid-template-columns:repeat(4,72px);gap:8px;justify-content:center;margin:12px auto}.memory-card{width:72px;height:72px;border:1px solid #e5d9d4;border-radius:10px;background:#f4c9d4;font-size:29px;cursor:pointer}.memory-card.flipped,.memory-card.matched{background:#fff8f1}.memory-card.matched{border-color:#a6cfb1}.hand-zone{max-width:590px;margin:10px auto}.turn-banner{text-align:center;font:9px var(--mono);letter-spacing:.8px;margin:10px}.top-card-row{display:flex;justify-content:center;align-items:center;gap:20px;margin:15px}.playing-card{display:grid;place-items:center;width:57px;height:78px;border-radius:8px;background:white;border:3px solid var(--cc,#eee);font:600 23px var(--display);color:var(--cc,#222)}.playing-card.top{width:70px;height:98px}.card-hand{display:flex;justify-content:center;flex-wrap:wrap;gap:5px}.hand-card{width:45px;height:64px;border-radius:7px;background:white;border:3px solid var(--cc,#eee);font:600 17px var(--display);color:var(--cc,#222);cursor:pointer}.hand-card:hover{transform:translateY(-5px)}.hand-card:disabled{opacity:.55;cursor:default}.game-end{text-align:center;padding:24px 12px}.game-end .big-heart{font-size:50px;color:var(--pink)}.game-end h2{font:600 27px var(--display);margin:4px}.game-end p{color:#858176;font-size:12px}.loading-screen{min-height:70vh;display:grid;place-items:center;text-align:center}.loading-heart{font-size:38px;color:var(--pink);animation:pulse 1.2s infinite}.loading-screen h2{font:600 25px var(--display)}.loading-screen p{font-size:12px;color:#858176}.inline-note{font-size:10px;color:#9c988e;text-align:center;margin-top:14px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;transition:.2s;background:var(--dark);color:white;padding:11px 16px;border-radius:30px;z-index:20;font:10px var(--mono);pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.empty-state{text-align:center;padding:48px 12px;color:#89867c}.hidden{display:none!important}@keyframes pulse{50%{transform:scale(1.15);opacity:.65}}@media(max-width:950px){.landing{gap:45px}.hero-title{letter-spacing:-5px}.hero-title .italic{letter-spacing:-4px}.room-layout{grid-template-columns:190px 1fr}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-card{min-height:520px}}@media(max-width:690px){.topbar{height:62px;padding:0 18px}.top-note{display:none}.top-link{font-size:8px}.app-shell{padding:30px 16px 43px}.landing{display:flex;flex-direction:column;gap:32px;margin-top:8px}.hero-title{font-size:clamp(57px,15vw,88px);letter-spacing:-5px}.hero-title .italic{letter-spacing:-4px}.hero-sub{font-size:13px;margin:16px 0 0}.scribble{right:10%;top:30px}.hero-sticker{display:none}.room-panel{padding:21px}.landing-bottom{margin-top:37px;display:block}.landing-bottom .eyebrow{margin-bottom:14px}.mini-pills{justify-content:flex-start}.footer{padding:0 16px;font-size:7px}.footer span:nth-child(2){display:none}.room-top{align-items:flex-start;gap:12px}.room-layout{grid-template-columns:1fr;gap:12px}.side-card{padding:13px 15px}.players-title{margin-bottom:6px}.player-list{display:flex;gap:16px}.player-row,.waiting-row{border-top:0;padding:6px 0}.score-box{display:none}.main-card{min-height:500px}.welcome-band{padding:21px}.game-toolbar{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 18px 6px}.filters{width:100%;overflow:auto}.filter-btn{white-space:nowrap}.game-grid{padding:8px 14px 18px;gap:9px}.game-art{height:95px}.game-copy{padding:10px}.game-title{font-size:12px}.game-desc{font-size:9px}.game-stage{padding:18px 14px}.stage-title{font-size:21px}.ttt-board{grid-template-columns:repeat(3,67px)}.board-cell{width:67px;height:67px}.connect-board{grid-template-columns:repeat(7,34px);gap:4px;padding:8px}.connect-cell{width:34px;height:34px}.question-card{padding:20px 15px}.choice-card{font-size:11px;padding:12px 8px}.draw-canvas{height:225px}.board-track{gap:3px}.board-space{min-height:58px;padding:5px 2px}.space-label{font-size:7px}.memory-board{grid-template-columns:repeat(4,62px);gap:6px}.memory-card{width:62px;height:62px}.room-code-wrap{gap:6px}.room-code-box{padding:7px 9px}.room-code-value{font-size:12px}}@media(max-width:390px){.room-actions{grid-template-columns:1fr}.join-row{grid-template-columns:1fr 103px}.game-art{height:82px}.board-track{grid-template-columns:repeat(4,1fr)}}

/* Arcade polish and new shared puzzle games */
:focus-visible{outline:3px solid #8a79c6!important;outline-offset:3px}
button:disabled{cursor:not-allowed;filter:saturate(.45);opacity:.6}
.game-stage{animation:stage-in .28s ease-out both}
.game-card{animation:card-in .38s ease both}
.game-card:nth-child(2n){animation-delay:.035s}
.game-card:nth-child(3n){animation-delay:.07s}
.filters{flex-wrap:wrap}
.word-grid{display:grid;gap:6px;justify-content:center;margin:14px auto}
.word-row{display:grid;grid-template-columns:repeat(5,46px);gap:6px}
.word-tile{height:46px;display:grid;place-items:center;border:1px solid #ded8cc;border-radius:8px;background:#fffdf8;font:600 18px var(--display);transition:transform .18s,background .18s,color .18s;animation:tile-pop .2s ease both}
.tile-empty{background:#f8f5ee}
.tile-hit{background:#83b995;border-color:#83b995;color:white}
.tile-near{background:#edc95c;border-color:#edc95c;color:white}
.tile-miss{background:#aaa99f;border-color:#aaa99f;color:white}
.puzzle-panel{max-width:430px;margin:6px auto 15px;padding:12px;background:#faf8f2;border:1px solid #eee9df;border-radius:13px}
.puzzle-panel>.eyebrow{text-align:center}
.puzzle-answer{max-width:430px}
.slide-board{display:grid;grid-template-columns:repeat(3,78px);gap:7px;justify-content:center;margin:12px auto}
.slide-tile{width:78px;height:78px;border:1px solid #eadfd6;border-radius:14px;background:#fff5f0;box-shadow:0 4px 0 #e4d4ca;font-size:34px;cursor:pointer;transition:transform .16s,background .16s,box-shadow .16s;animation:tile-pop .2s ease both}
.slide-tile:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 7px 0 #e4d4ca}
.slide-tile.slide-empty{background:#f1eee7;box-shadow:inset 0 0 0 2px #e4ded2;color:#c9c2b7}
.slide-goal{text-align:center;margin:10px auto;padding:10px 14px;background:#f8f5ee;border-radius:10px;width:max-content;max-width:100%}
.slide-goal>div{font-size:20px;letter-spacing:3px;margin-top:6px}
.code-attempts{max-width:450px;max-height:260px;overflow:auto;margin:0 auto 14px}
.code-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #eee9df;padding:7px 8px}
.code-pegs,.code-draft{display:flex;align-items:center;gap:8px}
.code-peg{display:inline-block;width:23px;height:23px;border:2px solid #dad4c9;border-radius:50%;background:#e8e4dc;vertical-align:middle}
.code-draft{justify-content:center;margin:10px auto}
.color-rose{background:#e95d68;border-color:#e95d68}
.color-sun{background:#e2b52a;border-color:#e2b52a}
.color-sky{background:#5995be;border-color:#5995be}
.color-grape{background:#876abe;border-color:#876abe}
.color-empty{background:#fffdf8;border-style:dashed}
.code-hint{font:10px var(--mono);color:#77746a}
.code-hint strong{color:#4c7659}
.code-hint span{padding:0 5px;color:#c3bdb1}
.code-palette{display:flex;justify-content:center;gap:8px;margin:14px}
.palette-button{width:45px;height:45px;display:grid;place-items:center;border:1px solid #e4ded2;border-radius:50%;background:#fffdf8;cursor:pointer;transition:transform .16s}
.palette-button:hover{transform:scale(1.1)}
.palette-button .code-peg{width:24px;height:24px}
.code-secret{display:flex;justify-content:center;gap:8px;margin:18px}
.code-secret .code-peg{width:32px;height:32px}
.riddle-guesses{max-width:480px;margin:14px auto}
.couple-prompt{background:#fff3ee}
.story-prompt{padding:12px 15px;background:#f5f0e7;border-radius:10px;color:#858176;font-size:11px;line-height:1.5;margin:12px 0}
.story-prompt strong{color:#4b4941}
.story-feed{display:grid;gap:8px;max-width:560px;max-height:250px;overflow:auto;margin:12px auto;padding:2px}
.story-line{max-width:88%;padding:9px 12px;border-radius:12px;background:#f1ece4}
.story-line.host{justify-self:start;background:#eee9fb}
.story-line.guest{justify-self:end;background:#ffeded}
.story-line .mono{color:#858176;font-size:8px}
.story-line p{margin:4px 0 0;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.story-form{grid-template-columns:1fr;max-width:560px}
.story-form textarea.field{height:auto;min-height:68px;padding:12px;resize:vertical}
.trivia-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-width:560px;margin:0 auto}
.trivia-option{text-align:left;min-height:55px}
.trivia-option:disabled{cursor:default}
.trivia-results{max-width:520px;margin:12px auto}
.trivia-correct{color:#578062}
.result-match strong{color:var(--ink)}
@keyframes stage-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes card-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes tile-pop{from{transform:scale(.9);opacity:.5}to{transform:scale(1);opacity:1}}
@media(max-width:690px){
 .filters{flex-wrap:nowrap;overflow:auto;padding:2px 1px 6px;scrollbar-width:thin}
 .slide-board{grid-template-columns:repeat(3,68px);gap:6px}
 .slide-tile{width:68px;height:68px;font-size:30px}
 .word-row{grid-template-columns:repeat(5,40px);gap:5px}
 .word-tile{height:40px;font-size:16px}
 .code-row{align-items:flex-start;flex-direction:column;gap:5px}
 .trivia-options{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* New two-player games */
.art-wordsearch{background:linear-gradient(135deg,#e7dffc,#f6d5d1)}
.art-wordsearch::after{content:"H E A R T\A S M I L E\A S W E E T";white-space:pre;position:absolute;inset:24px 0 0;display:grid;place-content:center;text-align:center;color:#514c67;font:700 13px/1.9 var(--mono);letter-spacing:2px;transform:rotate(-5deg)}
.art-dots{background:linear-gradient(135deg,#d8ead9,#f8e4b0)}
.art-dots::after{content:"• ─ • ─ •\A│ ♥ │ ✦ │\A• ─ • ─ •";white-space:pre;position:absolute;inset:20px 0 0;display:grid;place-content:center;text-align:center;color:#55745b;font:700 17px/1.55 var(--mono);transform:rotate(5deg)}
.surprise-btn{margin-top:9px}
.search-words{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:4px auto 13px}
.search-word{padding:6px 9px;border:1px solid #e6dfd3;border-radius:30px;background:#fffdf8;color:#827e73;font:9px var(--mono);letter-spacing:.6px;transition:background .2s,color .2s,transform .2s}
.search-word.found{background:#e8f2e5;border-color:#c7ddc5;color:#537458;transform:scale(1.04)}
.word-search-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;max-width:430px;margin:0 auto;padding:10px;border:1px solid #e9e1d6;border-radius:14px;background:#f8f5ee;box-shadow:0 7px 20px #34291b0a}
.search-cell{aspect-ratio:1;min-width:0;padding:0;border:1px solid #e7e0d6;border-radius:8px;background:#fffdf8;color:#34352e;font:700 clamp(12px,3vw,17px) var(--display);cursor:pointer;transition:transform .14s,background .2s,color .2s,border-color .2s;animation:tile-pop .2s ease both}
.search-cell:hover{transform:translateY(-2px);border-color:#e78c8e}
.search-cell.selected{background:#f6d967;border-color:#d6b63e;transform:scale(1.08);z-index:1}
.search-cell.found{background:#e3f0e2;border-color:#a9cba9;color:#507453}
.dots-score{display:flex;justify-content:center;gap:9px;margin:6px auto 10px}
.dots-score>span{padding:7px 11px;border:1px solid #e6dfd3;border-radius:30px;background:#f8f5ee;color:#817d72;font:10px var(--mono)}
.dots-score>span b{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:4px;border-radius:50%;background:#fffdf8;color:#4e4d43}
.dots-score>span.active{border-color:#e9a3a3;background:#fff0ef;color:#4e4942}
.dots-grid{--dots-cell:clamp(32px,7vw,46px);display:grid;grid-template-columns:repeat(7,var(--dots-cell));grid-template-rows:repeat(7,var(--dots-cell));justify-content:center;align-items:center;margin:14px auto 9px;padding:8px;border-radius:15px;background:#f8f5ee;border:1px solid #e9e1d6;box-shadow:0 7px 20px #34291b0a}
.dots-dot{width:10px;height:10px;justify-self:center;border-radius:50%;background:#67695e;box-shadow:0 1px 2px #29292330;z-index:1}
.dots-edge{position:relative;display:block;justify-self:stretch;align-self:stretch;min-width:0;min-height:0;padding:0;border:0;background:transparent;cursor:pointer}
.dots-edge::before{content:"";position:absolute;left:8%;right:8%;top:50%;height:7px;border-radius:8px;background:#ddd7cc;transform:translateY(-50%);transition:transform .15s,background .15s,box-shadow .15s}
.dots-edge.vertical::before{left:50%;right:auto;top:8%;bottom:8%;width:7px;height:auto;transform:translateX(-50%)}
.dots-edge:not(:disabled):hover::before{background:#c9b9ed;box-shadow:0 0 0 3px #c9b9ed35;transform:translateY(-50%) scale(1.08)}
.dots-edge.vertical:not(:disabled):hover::before{transform:translateX(-50%) scale(1.08)}
.dots-edge.host-edge::before{background:var(--pink)}
.dots-edge.guest-edge::before{background:#8d7acb}
.dots-edge:disabled{cursor:default}
.dots-box{display:grid;place-items:center;width:100%;height:100%;border-radius:8px;color:#55534b;font-size:clamp(13px,3vw,20px);transition:background .24s,transform .24s}
.dots-box.host-box{background:#ffe4e2;animation:box-pop .25s ease both}
.dots-box.guest-box{background:#e8e1f7;animation:box-pop .25s ease both}
@keyframes box-pop{from{opacity:.5;transform:scale(.65)}to{opacity:1;transform:scale(1)}}
@media(max-width:690px){.word-search-grid{gap:3px;padding:7px}.search-cell{border-radius:6px}.dots-grid{--dots-cell:clamp(31px,9vw,40px);padding:6px}.dots-edge::before{height:6px}.dots-edge.vertical::before{width:6px}}
@media(max-width:360px){.dots-grid{--dots-cell:29px;gap:0;padding:5px}}
