:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f6f2df;background:#081117;font-synthesis:none;text-rendering:optimizeLegibility;--panel: rgba(8, 18, 24, .78);--panel-strong: rgba(10, 24, 30, .92);--line: rgba(246, 242, 223, .16);--gold: #efc75e;--mint: #75d3c7;--coral: #ef756b;--ink: #101820;--blue: #86a8ff;--ease-soft: cubic-bezier(.16, 1, .3, 1);--ease-pop: cubic-bezier(.2, .82, .18, 1)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;background:linear-gradient(120deg,rgba(117,211,199,.13),transparent 32%),linear-gradient(240deg,rgba(239,199,94,.14),transparent 34%),linear-gradient(135deg,#071117,#10242b 43%,#241d2d)}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}.app-shell{position:relative;width:100vw;height:100vh;overflow:hidden}.ambient-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);animation:gridDrift 28s linear infinite}.scene-host{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.scene-host canvas{animation:canvasFade .78s var(--ease-soft) both}.embed-preview{position:relative;width:100vw;height:100vh;overflow:hidden;background:linear-gradient(125deg,rgba(117,211,199,.15),transparent 34%),linear-gradient(245deg,rgba(239,199,94,.12),transparent 36%),linear-gradient(135deg,#071014,#17242a 56%,#231927)}.embed-preview__copy{position:absolute;left:16px;bottom:14px;z-index:2;display:grid;gap:1px;text-shadow:0 3px 14px rgba(0,0,0,.62)}.embed-preview__copy span{color:var(--mint);font-size:.64rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.embed-preview__copy strong{color:#fff8df;font-size:clamp(1.4rem,8vw,2.35rem);line-height:.95}.embed-preview__copy em{color:#fff8dfc7;font-size:.72rem;font-style:normal;font-weight:800}.home-panel,.lobby-panel,.settings-modal,.winner-panel,.choice-panel,.pause-banner{position:absolute;z-index:3;border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 20px 60px #00000057;animation:surfaceIn .54s var(--ease-soft) both}.home-panel{left:clamp(18px,7vw,92px);bottom:clamp(18px,7vh,72px);width:min(480px,calc(100vw - 36px));transform:none;padding:clamp(18px,5cqw,28px);border-radius:8px;background:linear-gradient(145deg,#081218db,#0c1d22b3),linear-gradient(90deg,#efc75e1f,#75d3c71a);border-color:#fff8df38;container-type:inline-size;overflow:hidden}.home-panel:before{content:"";position:absolute;top:-55%;right:-35%;bottom:-55%;left:-35%;z-index:0;pointer-events:none;background:linear-gradient(110deg,transparent 35%,rgba(255,248,223,.12),transparent 64%);transform:translate(-42%) rotate(7deg);animation:panelSheen 6.5s var(--ease-soft) infinite}.home-panel>*{position:relative;z-index:1}.brand-stack{display:grid;gap:8px}.eyebrow{color:var(--mint);font-size:.74rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin:0}h1{max-width:100%;font-size:clamp(3rem,18cqw,4.45rem);line-height:1.34;letter-spacing:0;overflow-wrap:anywhere}h2{font-size:clamp(1.25rem,2.6vw,1.85rem);letter-spacing:0}.brand-stack p,.fineprint,.notice{color:#f6f2dfc2;line-height:1.45;max-width:100%;overflow-wrap:anywhere}.home-route{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 2px}.home-route span{min-width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,248,223,.18);border-radius:999px;box-shadow:inset 0 1px #ffffff29;color:#fff8df;font-size:.72rem;font-weight:950;text-shadow:0 1px 4px rgba(0,0,0,.75);animation:badgeFloat 4s ease-in-out infinite}.home-route span:nth-child(2n){animation-delay:.18s}.home-route span:nth-child(3n){animation-delay:.34s}.home-route span:nth-child(4n){animation-delay:.52s}.menu-actions{display:grid;gap:10px;margin:28px 0 16px}.game-button,.primary-action,.mini-button,.choice-actions button,.icon-button,.chip,.button-line{border:1px solid var(--line);background:#ffffff14;color:#fff8df;transition:transform .26s var(--ease-pop),background .24s ease,border-color .24s ease,box-shadow .24s ease,color .18s ease}.game-button:hover,.primary-action:hover,.mini-button:hover,.choice-actions button:hover,.icon-button:hover,.chip:hover,.button-line:hover{transform:translateY(-1px);border-color:#75d3c780;background:#75d3c724;box-shadow:0 12px 28px #00000038,0 0 22px #75d3c71a}.game-button:active,.primary-action:active,.mini-button:active,.choice-actions button:active,.icon-button:active,.chip:active,.button-line:active{transform:translateY(0) scale(.985)}.game-button{position:relative;min-height:52px;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:0 16px;border-radius:8px;background:linear-gradient(135deg,#ffffff1f,#ffffff0e),#0b181eb8;box-shadow:inset 0 1px #ffffff29,0 10px 24px #0003;font-weight:800;min-width:0;overflow:hidden;isolation:isolate}.game-button:after,.primary-action:after,.choice-actions button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(110deg,transparent 34%,rgba(255,255,255,.2),transparent 64%);background-size:220% 100%;background-position:-140% 0;opacity:0;transition:background-position .62s var(--ease-soft),opacity .24s ease}.game-button:hover:after,.primary-action:hover:after,.choice-actions button:hover:after{background-position:140% 0;opacity:1}.game-button>*,.primary-action>*,.choice-actions button>*{position:relative;z-index:1}.game-button svg,.mini-button svg,.primary-action svg{flex:0 0 auto;transition:transform .26s var(--ease-pop)}.game-button:hover svg,.mini-button:hover svg,.primary-action:hover svg{transform:scale(1.08) rotate(-4deg)}.game-button span,.primary-action span,.mini-button,.choice-actions button span,.choice-actions button strong,.player-strip span,.player-strip strong,.hud-objective span,.hud-objective strong,.player-card span,.player-card strong,.setting-line span,.toast{min-width:0;max-width:100%;overflow-wrap:anywhere}.game-button.compact{min-height:42px;padding:0 12px;font-size:.9rem}.lobby-panel{right:clamp(16px,4vw,54px);top:50%;width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 42px);transform:translateY(-50%);overflow:auto;padding:22px;border-radius:8px}.panel-header,.invite-row,.turn-select,.setting-line{display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-header{margin-bottom:18px}.icon-button{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:1.3rem}.cash-count{position:relative;display:grid;gap:4px;padding:16px;margin-bottom:18px;overflow:hidden;border:1px solid rgba(239,199,94,.24);border-radius:8px;background:linear-gradient(135deg,#efc75e24,#75d3c71a)}.cash-count:after{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);animation:countSweep 2.6s ease-in-out infinite}.cash-count strong{font-size:1.6rem}@keyframes countSweep{0%{transform:translate(-65%) rotate(12deg)}55%{transform:translate(65%) rotate(12deg)}to{transform:translate(65%) rotate(12deg)}}@keyframes gridDrift{0%{background-position:0 0,0 0}to{background-position:44px 88px,88px 44px}}@keyframes canvasFade{0%{opacity:0;filter:saturate(.82) blur(5px)}to{opacity:1;filter:saturate(1) blur(0)}}@keyframes surfaceIn{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}@keyframes panelSheen{0%,42%{transform:translate(-44%) rotate(7deg);opacity:0}58%{opacity:1}82%,to{transform:translate(44%) rotate(7deg);opacity:0}}@keyframes badgeFloat{0%,to{transform:translateZ(0) scale(1)}45%{transform:translate3d(0,-4px,0) scale(1.035)}}@keyframes hudSlideLeft{0%{opacity:0;transform:translate3d(-14px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes hudSlideRight{0%{opacity:0;transform:translate3d(14px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes hudSlideUp{0%{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes diceReadyPulse{0%,to{box-shadow:0 24px 58px #00000057,inset 0 1px #ffffff3d}50%{box-shadow:0 28px 66px #00000061,0 0 30px #75d3c71f,inset 0 1px #ffffff42}}@keyframes selectedGlow{0%,to{box-shadow:0 0 #efc75e00}50%{box-shadow:0 0 22px #efc75e38}}@keyframes listItemIn{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes dotPulse{0%,to{transform:scale(1);box-shadow:0 0 14px currentColor}50%{transform:scale(1.18);box-shadow:0 0 22px currentColor}}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes logIn{0%{opacity:0;transform:translate3d(12px,6px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes toastPop{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.92)}12%,82%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-5px) scale(.98)}}.turn-select{margin-bottom:18px}.turn-select>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.chip{min-width:48px;height:36px;border-radius:999px;font-weight:800}.chip.selected{color:var(--ink);background:var(--gold);border-color:transparent;animation:selectedGlow 2.6s ease-in-out infinite}.invite-row{flex-wrap:wrap;justify-content:flex-start;margin-bottom:18px}.player-list{display:grid;gap:8px;margin-bottom:18px}.player-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#ffffff0f;font-size:.9rem;animation:listItemIn .42s var(--ease-soft) both}.player-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 16px currentColor;animation:dotPulse 2.4s ease-in-out infinite}.primary-action{position:relative;width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:8px;color:var(--ink);background:linear-gradient(135deg,var(--gold),#f19955);border:0;font-weight:900;overflow:hidden;isolation:isolate}.hud-objective{position:absolute;left:18px;top:18px;z-index:3;display:grid;gap:3px;max-width:min(330px,calc(100vw - 36px));padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:hudSlideLeft .52s var(--ease-soft) both}.hud-status{position:absolute;right:18px;top:18px;z-index:3;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:min(440px,calc(100vw - 36px));animation:hudSlideRight .56s var(--ease-soft) both}.mini-button{min-width:42px;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border-radius:999px;font-size:.82rem;font-weight:800}.mini-button.active{color:var(--ink);background:var(--mint);border-color:transparent;animation:selectedGlow 2.6s ease-in-out infinite}.player-strip{position:absolute;left:18px;bottom:18px;z-index:3;display:flex;align-items:center;flex-wrap:wrap;gap:10px;max-width:min(700px,calc(100vw - 36px));padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:.88rem;animation:hudSlideUp .6s var(--ease-soft) both}.dice-zone{position:absolute;right:22px;bottom:22px;z-index:3;animation:hudSlideUp .68s var(--ease-soft) both}.dice-cup{width:190px;height:190px;display:grid;place-items:center;gap:10px;padding:16px;border:1px solid rgba(255,248,223,.28);border-radius:50%;color:#fff8df;background:linear-gradient(145deg,#ffffff38,#ffffff0f),#0b181ec7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 24px 58px #00000057,inset 0 1px #ffffff3d;touch-action:none;animation:diceReadyPulse 3.8s ease-in-out infinite;transition:transform .24s var(--ease-pop),box-shadow .24s ease}.dice-cup:hover{transform:translateY(-2px);box-shadow:0 30px 68px #00000061,0 0 32px #75d3c71f,inset 0 1px #ffffff40}.cup-glass{position:relative;width:128px;height:98px;border:2px solid rgba(255,255,255,.46);border-radius:28px 28px 42px 42px;background:linear-gradient(145deg,#fff3,#ffffff0e),#75d3c714;transform:rotate(var(--cup-tilt)) scale(calc(1 + var(--charge) * .035));transition:transform .12s ease}.die{position:absolute;width:50px;height:50px;display:grid;place-items:center;border-radius:11px;color:var(--ink);background:#fff8df;border:1px solid rgba(16,24,32,.12);font-weight:900;font-size:1.25rem;box-shadow:0 12px 24px #0000004d;will-change:transform}.die-a{left:20px;top:22px;transform:rotate(-8deg)}.die-b{right:18px;bottom:14px;transform:rotate(11deg)}.dice-cup.charging .die-a{animation:diceSpinA var(--roll-speed) linear infinite}.dice-cup.charging .die-b{animation:diceSpinB calc(var(--roll-speed) * .9) linear infinite}.dice-cup.settling .cup-glass{animation:settleCup .52s cubic-bezier(.2,.78,.18,1)}.dice-label{max-width:138px;font-size:.86rem;font-weight:900;line-height:1.15;text-align:center;text-transform:uppercase}@keyframes diceSpinA{0%{transform:rotate(-8deg) translate3d(-2px,0,0) scale(1)}50%{transform:rotate(182deg) translate3d(4px,-5px,0) scale(1.06)}to{transform:rotate(352deg) translate3d(-2px,0,0) scale(1)}}@keyframes diceSpinB{0%{transform:rotate(11deg) translate3d(2px,0,0) scale(1)}50%{transform:rotate(-170deg) translate3d(-5px,4px,0) scale(1.07)}to{transform:rotate(-349deg) translate3d(2px,0,0) scale(1)}}@keyframes settleCup{0%{transform:rotate(var(--cup-tilt)) scale(1.05)}70%{transform:rotate(-3deg) scale(1.01)}to{transform:rotate(0) scale(1)}}.choice-panel{left:50%;top:50%;width:min(460px,calc(100vw - 32px));padding:22px;border-radius:8px;transform:translate(-50%,-50%)}.timer-ring{position:absolute;right:18px;top:18px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--ink);background:var(--gold);font-weight:900;animation:timerPulse 1s ease-in-out infinite}.choice-panel h2{padding-right:52px;margin:6px 0 8px}.choice-actions{display:grid;gap:9px;margin:18px 0 12px}.choice-actions button{position:relative;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-radius:8px;font-weight:800;overflow:hidden;isolation:isolate}.pause-banner,.winner-panel{left:50%;top:50%;display:grid;justify-items:center;gap:10px;padding:24px;border-radius:8px;transform:translate(-50%,-50%)}.winner-panel{width:min(460px,calc(100vw - 36px));text-align:center}.log-dock{position:absolute;right:18px;bottom:188px;z-index:3;display:grid;gap:6px;width:min(320px,calc(100vw - 36px));pointer-events:none}.log-dock p{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#0812189e;color:#f6f2dfd1;font-size:.78rem;animation:logIn .42s var(--ease-soft) both}.log-dock p:nth-child(2){animation-delay:70ms}.log-dock p:nth-child(3){animation-delay:.14s}.settings-modal{right:20px;top:74px;width:min(360px,calc(100vw - 40px));padding:18px;border-radius:8px}.setting-line{width:100%;min-height:48px;padding:10px 0;border-bottom:1px solid var(--line)}.setting-line select{min-width:140px;border:1px solid var(--line);border-radius:8px;background:#0f2028;color:#fff8df;padding:8px 10px}.button-line{border-width:0 0 1px;background:transparent;color:#fff8df}.toast{position:absolute;left:50%;top:22px;z-index:5;padding:10px 14px;border-radius:999px;color:var(--ink);background:var(--mint);font-weight:900;transform:translate(-50%);animation:toastPop 2.2s var(--ease-soft) both}.notice.error{margin-top:14px;color:#ffd0cc}.pawsport-card{position:relative;display:block;min-height:260px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:#fff8df;text-decoration:none;background:#0d1b21}.pawsport-card__poster,.pawsport-card__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .18s ease,transform .26s ease}.pawsport-card__video{opacity:0}.pawsport-card:hover .pawsport-card__video{opacity:1}.pawsport-card:hover .pawsport-card__poster,.pawsport-card:hover .pawsport-card__video{transform:scale(1.03)}.pawsport-card__label,.pawsport-card__meta{position:absolute;left:16px;z-index:2;text-shadow:0 2px 12px rgba(0,0,0,.45)}.pawsport-card__label{bottom:46px;display:flex;align-items:center;gap:8px;font-size:1.6rem;font-weight:900}.pawsport-card__meta{bottom:20px;color:#fff8dfd1}@media(max-width:760px){body{overflow:auto}.home-panel,.lobby-panel{left:12px;right:12px;top:auto;bottom:12px;width:auto;transform:none}.hud-objective,.hud-status,.player-strip,.dice-zone,.log-dock{left:12px;right:12px;max-width:none}.hud-status{top:106px;justify-content:flex-start}.player-strip{bottom:154px}.dice-zone{bottom:10px;display:flex;justify-content:flex-end}.dice-cup{width:156px;height:156px}.cup-glass{width:104px;height:82px}.die{width:42px;height:42px;font-size:1.05rem}.log-dock{display:none}.player-card{grid-template-columns:auto minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
