:root{--bg: #17111f;--panel: #241a31;--text: #fff7e8;--muted: #c8b8d9;--banana: #F4B400;--chips: #EC407A;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100dvh;overflow-x:hidden;background:radial-gradient(circle at 18% 10%,rgba(244,180,0,.2),transparent 19rem),radial-gradient(circle at 82% 18%,rgba(236,64,122,.22),transparent 20rem),linear-gradient(160deg,#20162a,#120f1a 72%)}button,input{font:inherit}button:focus-visible,input:focus-visible{outline:3px solid var(--banana);outline-offset:4px}.app-shell,.splash-shell{width:min(100%,980px);min-height:100dvh;margin:0 auto;padding:22px}.app-shell--center,.splash-shell{display:grid;place-items:center}.splash-shell{position:relative;overflow:hidden}.splash-content,.status-panel,.state-panel{width:min(100%,720px);text-align:center}.splash-content{position:relative;z-index:1;display:grid;justify-items:center;padding:32px 0}.splash-content:before{position:absolute;inset:12% 0 auto;z-index:-1;width:min(72vw,420px);aspect-ratio:1;margin:auto;border-radius:999px;content:"";background:radial-gradient(circle at 35% 28%,rgba(244,180,0,.28),transparent 34%),radial-gradient(circle at 68% 64%,rgba(236,64,122,.24),transparent 38%);filter:blur(8px);animation:intro-glow 4.8s ease-in-out infinite alternate}.splash-top-actions{position:absolute;top:0;right:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.splash-orbit{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.splash-orbit span{position:absolute;display:grid;width:clamp(48px,14vw,86px);aspect-ratio:1;place-items:center;border:1px solid rgba(255,247,232,.12);border-radius:28px;background:#fff7e814;box-shadow:0 22px 48px #00000038;font-size:clamp(1.9rem,7vw,3.2rem);opacity:.84;animation:snack-float 5.6s ease-in-out infinite}.splash-orbit span:nth-child(1){top:10%;left:8%;animation-delay:-.8s}.splash-orbit span:nth-child(2){top:17%;right:5%;animation-delay:-2.4s}.splash-orbit span:nth-child(3){right:14%;bottom:14%;animation-delay:-1.2s}.splash-orbit span:nth-child(4){bottom:9%;left:7%;animation-delay:-3.1s}.splash-orbit span:nth-child(5){top:50%;left:-18px;animation-delay:-4s}.splash-orbit span:nth-child(6){top:47%;right:-18px;animation-delay:-1.8s}.splash-shell--skipped .splash-orbit,.splash-shell--skipped .splash-content:before{display:none}.hero-emoji{font-size:clamp(3rem,18vw,7rem);line-height:1;margin-bottom:18px}.eyebrow{margin:0 0 14px;color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:16px;color:var(--text);font-size:clamp(2.25rem,12vw,5rem);font-weight:950;letter-spacing:-.035em;line-height:.95}h2{margin-bottom:8px;font-size:clamp(1.35rem,6vw,2rem);line-height:1}p{color:var(--muted);line-height:1.45}.primary-button,.ghost-button,.danger-button,.mini-team-button{border:0;cursor:pointer;font-weight:900}.primary-button{display:inline-flex;min-height:56px;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 22px;border-radius:18px;background:var(--banana);color:#23150a;box-shadow:0 18px 38px #f4b4002e}.primary-button--pink{background:var(--chips);color:#fff7e8;box-shadow:0 18px 38px #ec407a2e}.primary-button:disabled,.ghost-button:disabled,.danger-button:disabled,.mini-team-button:disabled{cursor:not-allowed;opacity:.48}.splash-button{width:min(100%,280px);margin-top:10px}.page-heading{padding:18px 0 8px}.page-heading h1{margin-bottom:10px}.manual-button,.skip-intro-button,.manual-close,.celebration-skip{border:0;cursor:pointer;font-weight:900}.manual-button{display:inline-flex;align-items:center;gap:8px;width:fit-content;min-height:40px;margin-top:8px;padding:7px 11px 7px 7px;border:1px solid rgba(255,247,232,.12);border-radius:999px;background:#fff7e81a;color:var(--text);box-shadow:0 16px 36px #00000024}.manual-button span{display:grid;width:26px;aspect-ratio:1;place-items:center;border-radius:999px;background:var(--banana);color:#23150a}.manual-button strong{font-size:.82rem;letter-spacing:.01em}.skip-intro-button{min-height:40px;padding:9px 13px;border-radius:999px;background:#fff7e81a;color:var(--muted)}.manual-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;align-items:end;padding:12px;background:#0a070ebd;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.manual-dialog{display:grid;max-height:min(88dvh,760px);overflow:hidden;border:1px solid rgba(255,247,232,.16);border-radius:28px;background:radial-gradient(circle at 20% 0%,rgba(244,180,0,.18),transparent 18rem),radial-gradient(circle at 100% 18%,rgba(236,64,122,.16),transparent 19rem),#20162afa;box-shadow:0 -24px 80px #0000006b}.manual-head{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 12px;background:linear-gradient(180deg,#20162afa,#20162ae0);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.manual-head h1{margin:0;font-size:clamp(2rem,10vw,3.8rem)}.manual-close{flex:0 0 auto;min-height:40px;padding:9px 13px;border-radius:999px;background:var(--banana);color:#23150a}.manual-list{display:grid;gap:12px;padding:0 18px 18px;overflow:auto;-webkit-overflow-scrolling:touch}.manual-section{padding:16px;border:1px solid rgba(255,247,232,.12);border-radius:20px;background:#0000002b}.manual-section h2{margin:0 0 9px;font-size:clamp(1.22rem,5.6vw,1.7rem);line-height:1.08}.manual-section p{margin:0;color:color-mix(in srgb,var(--text) 82%,var(--muted))}.panel,.team-box{margin-top:18px;padding:18px;border:1px solid rgba(255,247,232,.12);border-radius:22px;background:#241a31c7;box-shadow:0 20px 50px #0000002e}.start-panel,.stack,.join-form{display:grid;gap:14px}.field{display:grid;gap:8px;text-align:left}.field span{color:var(--muted);font-size:.84rem;font-weight:800}.field input{width:100%;min-height:54px;border:1px solid rgba(255,247,232,.15);border-radius:16px;background:#0000002e;color:var(--text);font-size:1.08rem;font-weight:800;padding:0 16px}.session-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-22px -22px 18px;padding:max(14px,env(safe-area-inset-top)) 16px 14px;background:#17111fe6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.session-code span{display:block;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.session-code strong{font-size:1.38rem;letter-spacing:.08em}.session-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.ghost-button,.danger-button{min-height:40px;padding:10px 12px;border-radius:999px;color:var(--text)}.ghost-button{background:#fff7e81f}.danger-button{background:#ff575733;color:#ffb5b5}.team-grid{display:grid;gap:14px}.team-box{--team-color: var(--banana);position:relative;overflow:hidden}.team-box:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(130deg,color-mix(in srgb,var(--team-color) 20%,transparent),transparent 55%);pointer-events:none}.team-box>*{position:relative}.team-box-heading,.section-title{display:flex;align-items:center;gap:12px}.team-box-heading>span,.section-title>span{font-size:2rem}.team-box-heading h2,.section-title h2{margin:0}.team-box-heading p{margin:4px 0 0;font-size:.9rem}.team-badge{--team-color: var(--banana);display:inline-flex;width:fit-content;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--team-color) 24%,rgba(255,255,255,.08));color:var(--text);font-size:.86rem;font-weight:900}.player-list{display:grid;gap:10px;padding:0;margin:16px 0 0;list-style:none}.player-line{display:grid;gap:12px;padding:13px;border:1px solid rgba(255,247,232,.1);border-radius:16px;background:#00000029}.player-line strong,.player-line span{display:block}.player-line span{margin-top:3px;color:var(--muted);font-size:.82rem}.mini-actions{display:flex;flex-wrap:wrap;gap:8px}.mini-team-button{--team-color: var(--banana);min-height:38px;padding:9px 11px;border-radius:999px;background:var(--team-color);color:#20131f}.mini-team-button--muted{background:#fff7e81f;color:var(--muted)}.empty-team,.device-id{margin:16px 0 0;color:var(--muted)}.device-id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.76rem;overflow-wrap:anywhere}.hint-list{display:grid;gap:6px;margin:14px 0 0;padding-left:20px;color:var(--muted)}.settings-strip{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,247,232,.1)}.settings-strip p{margin:0;font-size:.9rem}.reset-seen-button{width:fit-content;color:var(--banana)}.player-status{text-align:center}.state-panel{min-height:calc(100dvh - 110px);display:grid;align-content:center;justify-items:center}.state-panel--building{animation:pulse .9s ease-in-out infinite alternate}.game-table{--team-color: var(--banana);position:relative;display:grid;width:100%;gap:18px;padding-bottom:28px;overflow:hidden}.turn-banner{--team-color: var(--banana);display:grid;justify-items:center;gap:6px;padding:22px 16px;border:1px solid color-mix(in srgb,var(--team-color) 38%,rgba(255,247,232,.12));border-radius:28px;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--team-color) 24%,transparent),transparent 18rem),#241a31bd;text-align:center}.turn-banner h1{margin:0;color:color-mix(in srgb,var(--team-color) 78%,var(--text));font-size:clamp(2.2rem,11vw,4.2rem)}.turn-banner span,.own-team-line{color:var(--muted);line-height:1.4}.own-team-line{margin:0;text-align:center}.own-team-line strong{color:var(--text)}.table-arena{position:relative;display:grid;gap:14px}.treasure-chest{--team-color: var(--banana);position:relative;min-height:208px;padding:18px;overflow:hidden;border:1px solid color-mix(in srgb,var(--team-color) 42%,rgba(255,247,232,.12));border-radius:28px;background:linear-gradient(140deg,color-mix(in srgb,var(--team-color) 24%,rgba(255,255,255,.03)),#140c1ccc 62%),#241a31db;box-shadow:0 24px 64px #00000038}.treasure-head{position:relative;z-index:1;display:flex;align-items:flex-start;gap:13px}.treasure-emoji{display:grid;width:54px;aspect-ratio:1;place-items:center;border-radius:18px;background:color-mix(in srgb,var(--team-color) 30%,rgba(255,255,255,.08));font-size:2.1rem}.treasure-head h2{margin:0 0 6px;color:var(--text)}.treasure-head p{margin:0;font-size:.94rem}.treasure-count{position:relative;z-index:1;display:flex;align-items:baseline;gap:8px;margin-top:18px}.treasure-count strong{color:color-mix(in srgb,var(--team-color) 82%,var(--text));font-size:clamp(3.2rem,17vw,6rem);line-height:.82}.treasure-count span{color:var(--muted);font-weight:900}.treasure-icons{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.treasure-token{display:grid;width:clamp(42px,13vw,62px);aspect-ratio:1;place-items:center;border:1px solid color-mix(in srgb,var(--team-color) 38%,rgba(255,247,232,.14));border-radius:17px;background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.24),transparent 45%),#0003;box-shadow:inset 0 -14px 24px #00000029;font-size:clamp(1.55rem,7vw,2.25rem)}.steal-lane{display:flex;align-items:center;justify-content:center;gap:10px;min-height:36px;color:var(--muted);font-size:.82rem;font-weight:900;text-transform:uppercase}.steal-lane:before,.steal-lane:after{width:min(20vw,84px);height:1px;content:"";background:linear-gradient(90deg,transparent,rgba(255,247,232,.26),transparent)}.challenge-card{--team-color: var(--banana);position:relative;display:grid;gap:16px;padding:18px;border:1px solid color-mix(in srgb,var(--team-color) 36%,rgba(255,247,232,.12));border-radius:28px;background:linear-gradient(150deg,rgba(255,247,232,.08),transparent 48%),#160e1ed1}.challenge-card h2{margin-bottom:8px}.challenge-card p{margin-bottom:0}.answer-shell{display:grid;gap:8px}.answer-shell span{color:var(--muted);font-size:.82rem;font-weight:900}.answer-shell input{width:100%;min-height:54px;border:1px dashed color-mix(in srgb,var(--team-color) 42%,rgba(255,247,232,.2));border-radius:18px;background:#0000002e;color:var(--muted);padding:0 16px}.timer-badge{display:grid;width:74px;aspect-ratio:1;place-items:center;justify-self:center;border:1px solid color-mix(in srgb,var(--team-color) 46%,rgba(255,247,232,.16));border-radius:24px;background:color-mix(in srgb,var(--team-color) 20%,rgba(0,0,0,.28));color:var(--text);font-size:2rem;font-weight:950}.skip-message{margin:6px 0 0;padding:8px 11px;border-radius:999px;background:#fff7e81f;color:var(--text);font-size:.88rem;font-weight:900}.special-banner{display:grid;gap:4px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--team-color) 46%,rgba(255,247,232,.14));border-radius:20px;background:linear-gradient(130deg,color-mix(in srgb,var(--team-color) 24%,rgba(255,247,232,.08)),#00000029)}.special-banner strong{color:color-mix(in srgb,var(--team-color) 76%,var(--text));font-size:1rem;letter-spacing:.04em}.special-banner span{color:var(--muted);font-weight:800}.answer-actions{display:grid;gap:10px}.answer-actions--defense .answer-button{box-shadow:0 0 0 3px color-mix(in srgb,var(--team-color) 18%,transparent)}.answer-button{min-height:58px;border:1px solid color-mix(in srgb,var(--team-color) 40%,rgba(255,247,232,.16));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--team-color) 76%,#fff7e8),var(--team-color));color:#1d1220;cursor:pointer;font-size:1.06rem;font-weight:950;box-shadow:0 18px 34px color-mix(in srgb,var(--team-color) 18%,transparent)}.answer-button--false,.answer-button--choice{background:#fff7e81f;color:var(--text)}.answer-button:disabled{cursor:not-allowed;opacity:.44;box-shadow:none}.turn-hint{margin:0;color:var(--muted);font-size:.94rem;font-weight:800}.reveal-panel{display:grid;gap:10px;padding:16px;border:1px solid rgba(255,120,120,.28);border-radius:22px;background:#5a182438}.reveal-panel--correct{border-color:color-mix(in srgb,var(--team-color) 50%,rgba(255,247,232,.12));background:color-mix(in srgb,var(--team-color) 16%,rgba(0,0,0,.22))}.reveal-panel h3,.reveal-panel p{margin:0}.reveal-panel strong{color:var(--text)}.reveal-panel .primary-button{width:100%;margin-top:4px}.steal-flight{position:absolute;z-index:6;display:grid;width:68px;aspect-ratio:1;place-items:center;border-radius:999px;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.38),transparent 35%),#fff7e826;filter:drop-shadow(0 18px 24px rgba(0,0,0,.34));font-size:2.42rem;pointer-events:none}.steal-flight:before,.steal-flight:after{position:absolute;top:16px;right:16px;bottom:16px;left:16px;z-index:-1;border-radius:999px;content:"";background:#fff7e82e;filter:blur(10px)}.steal-flight:after{inset:auto 64% 14px auto;width:72px;height:12px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,247,232,.28));transform:rotate(-22deg)}.steal-flight--idle{left:50%;top:46%;opacity:0;transform:translate(-50%,-50%) scale(.72)}.steal-flight--active{left:50%;top:47%;opacity:0;animation:steal-flight 1.35s cubic-bezier(.16,.86,.28,1)}.table-teams{display:grid;gap:12px}.compact-team{--team-color: var(--banana);display:grid;gap:10px;padding:14px;border:1px solid color-mix(in srgb,var(--team-color) 28%,rgba(255,247,232,.1));border-radius:20px;background:#00000024}.compact-team ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.compact-team li{padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--team-color) 18%,rgba(255,255,255,.08));color:var(--text);font-size:.9rem;font-weight:800}.victory-panel{--team-color: var(--banana);position:relative;display:grid;min-height:calc(100dvh - 110px);align-content:center;justify-items:center;gap:16px;overflow:hidden;padding:20px 0;text-align:center}.exhausted-panel{--team-color: var(--banana);display:grid;min-height:calc(100dvh - 110px);align-content:center;justify-items:center;gap:16px;padding:24px 0;text-align:center}.exhausted-panel h1{max-width:760px;margin:0;color:color-mix(in srgb,var(--team-color) 74%,var(--text))}.exhausted-panel p{max-width:620px;margin:0}.victory-panel:before{position:absolute;inset:12% 50% auto auto;width:min(70vw,420px);aspect-ratio:1;border-radius:999px;content:"";background:radial-gradient(circle,color-mix(in srgb,var(--team-color) 22%,transparent),transparent 66%);transform:translate(50%);pointer-events:none}.victory-panel>*{position:relative;z-index:1}.victory-panel h1{margin:0;color:color-mix(in srgb,var(--team-color) 82%,var(--text))}.victory-panel p{max-width:560px;margin:0}.victory-mark{display:grid;width:clamp(92px,28vw,140px);aspect-ratio:1;place-items:center;border:1px solid color-mix(in srgb,var(--team-color) 40%,rgba(255,247,232,.14));border-radius:36px;background:radial-gradient(circle at 32% 22%,rgba(255,255,255,.28),transparent 40%),color-mix(in srgb,var(--team-color) 20%,rgba(0,0,0,.22));font-size:clamp(3.7rem,16vw,6rem);box-shadow:0 24px 60px color-mix(in srgb,var(--team-color) 17%,rgba(0,0,0,.26))}.victory-burst{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.victory-burst span{position:absolute;font-size:clamp(2rem,8vw,4.6rem);opacity:0;animation:victory-pop 2.4s ease-out infinite}.victory-burst span:nth-child(1){top:18%;left:10%}.victory-burst span:nth-child(2){top:16%;right:11%;animation-delay:.28s}.victory-burst span:nth-child(3){bottom:24%;left:16%;animation-delay:.55s}.victory-burst span:nth-child(4){right:16%;bottom:20%;animation-delay:.82s}.victory-burst span:nth-child(5){top:48%;left:50%;animation-delay:1.1s}.final-treasures{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.final-treasures span{padding:10px 13px;border-radius:999px;background:#fff7e81c;color:var(--text);font-weight:900}.celebration-skip{min-height:42px;padding:10px 14px;border-radius:999px;background:#fff7e81f;color:var(--muted)}.error-message{width:100%;max-height:44dvh;margin:18px 0 0;padding:14px;overflow:auto;border:1px solid rgba(255,120,120,.24);border-radius:14px;background:#00000047;color:#ffd0d0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.78rem;line-height:1.5;text-align:left;white-space:pre-wrap;word-break:break-word}.success-message{margin:18px 0 0;padding:13px 14px;border:1px solid rgba(244,180,0,.24);border-radius:16px;background:#f4b4001f;color:var(--text);font-weight:900;text-align:center}@keyframes pulse{0%{opacity:.76;transform:scale(.995)}to{opacity:1;transform:scale(1)}}@keyframes steal-flight{0%{opacity:0;transform:translate(-46vw,22vh) scale(.48) rotate(-18deg)}16%{opacity:1;transform:translate(-28vw,6vh) scale(1.08) rotate(10deg)}54%{opacity:1;transform:translate(3vw,-9vh) scale(1.24) rotate(-14deg)}to{opacity:0;transform:translate(45vw,-22vh) scale(.74) rotate(22deg)}}@keyframes snack-float{0%,to{transform:translateZ(0) rotate(-7deg) scale(.96)}50%{transform:translate3d(0,-22px,0) rotate(8deg) scale(1.04)}}@keyframes intro-glow{0%{opacity:.64;transform:scale(.92) rotate(-4deg)}to{opacity:1;transform:scale(1.05) rotate(4deg)}}@keyframes victory-pop{0%{opacity:0;transform:translate3d(0,32px,0) scale(.7) rotate(-12deg)}18%{opacity:1}70%{opacity:.85}to{opacity:0;transform:translate3d(0,-62px,0) scale(1.12) rotate(18deg)}}@media(min-width:720px){.app-shell,.splash-shell{padding:34px}.session-bar{margin:-34px -34px 22px;padding-inline:28px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-line{grid-template-columns:minmax(0,1fr) auto;align-items:center}.primary-button{width:fit-content;min-width:240px}.join-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.game-table{gap:22px}.table-arena{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch}.steal-lane{writing-mode:vertical-rl;min-width:52px;min-height:auto}.steal-lane:before,.steal-lane:after{width:1px;height:72px;background:linear-gradient(180deg,transparent,rgba(255,247,232,.26),transparent)}.challenge-card{grid-template-columns:minmax(0,1fr) minmax(220px,.7fr) auto;align-items:end}.manual-overlay{align-items:center;justify-items:center}.manual-dialog{width:min(760px,calc(100vw - 48px));border-radius:32px}.answer-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-button--choice{grid-column:span 2}.table-teams{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.state-panel--building{animation:none}.splash-orbit span,.splash-content:before,.victory-burst span{animation:none}.steal-flight--active{animation:none}}
