:root{--navy:#0b2e4f;--navy-2:#123c66;--navy-3:#1b4e80;--gold:#f2b32e;--cream:#fff6e5;--ink:#12213a;--paid:#2e9e5b;--unpaid:#7b4fbf;--quiz:#f2b32e;--bonus:#2b7de9;--oops:#e0473a;--star:#e0473a;--font:"Fredoka", "Nunito", system-ui, sans-serif;--body:"Nunito", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{background:var(--navy);height:100%;color:var(--cream);font-family:var(--body);margin:0;overflow:hidden}body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}button{font-family:var(--font);cursor:pointer;border:0}.app{position:fixed;inset:0}.scene{position:absolute;inset:0}.ui{pointer-events:none;z-index:1;position:absolute;inset:0}.ui>*{pointer-events:auto}.rotate{display:none}@media (orientation:portrait){.rotate{z-index:100;background:var(--navy);text-align:center;font-family:var(--font);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.rotate .icon{border:5px solid var(--gold);border-radius:14px;width:84px;height:130px;animation:1.6s ease-in-out infinite spin}@keyframes spin{0%,20%{transform:rotate(0)}60%,to{transform:rotate(90deg)}}}.screen{flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:4vh 6vw;display:flex;position:absolute;inset:0}.screen.title{background:radial-gradient(1200px 700px at 30% 40%, #1b4e80 0%, var(--navy) 60%);overflow:hidden}.boardbg{opacity:.12;filter:blur(7px)saturate(1.2);pointer-events:none;background:url(/img/board-face.png) 50%/cover no-repeat;position:absolute;inset:-12%;transform:rotate(-6deg)scale(1.1)}.boardbg:after{content:"";background:radial-gradient(70% 70% at 50% 50%, transparent 30%, var(--navy) 100%);position:absolute;inset:0}.coins{pointer-events:none;position:absolute;inset:0;overflow:hidden}.coins img{opacity:.55;filter:drop-shadow(0 6px 10px #0006);animation:linear infinite rise;position:absolute;bottom:-60px}@keyframes rise{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:.6}90%{opacity:.5}to{opacity:0;transform:translateY(-115vh)rotate(720deg)}}.hero{grid-template-columns:auto 1fr;align-items:center;gap:clamp(20px,5vw,70px);width:100%;max-width:1100px;padding:0 4vw;display:grid;position:relative}.hero-foo{aspect-ratio:420/569;filter:drop-shadow(0 30px 40px #00000080);height:min(64vh,520px)}.hero-foo .foofoo{height:100%;position:static}.hero-text{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.eyebrow{font:700 13px var(--font);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);opacity:.8}.hero .logo{font-size:clamp(64px,14vh,140px)}.hero .sub{font:600 clamp(15px, 2.6vh, 24px) var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--cream);opacity:.85}.hero .tag{text-align:left;opacity:.8;margin-top:6px;font-size:clamp(16px,2.6vh,22px)}.btn.big{margin-top:12px;padding:.5em 2em;font-size:clamp(24px,4.2vh,38px)}.hero .meta{font:600 14px var(--body);opacity:.55;margin-top:4px}.screen.setup{overflow:hidden}.screen.setup>:not(.boardbg),.screen.end>:not(.boardbg){position:relative}.logo{font-family:var(--font);color:var(--gold);letter-spacing:.01em;text-shadow:0 6px #9a6b0c,0 14px 30px #00000059;font-size:clamp(56px,11vh,120px);font-weight:700;line-height:.95}.logo small{color:var(--cream);letter-spacing:.14em;text-shadow:none;margin-top:10px;font-size:.32em;font-weight:600;display:block}.tag{opacity:.85;text-align:center;max-width:60ch;font-size:clamp(16px,2.6vh,24px)}.btn{background:var(--gold);color:var(--navy);border-radius:999px;padding:.55em 1.5em;font-size:clamp(20px,3.4vh,32px);font-weight:700;transition:transform 80ms;box-shadow:0 6px #b8841a,0 16px 30px #00000059}.btn:active{transform:translateY(4px);box-shadow:0 2px #b8841a,0 8px 18px #0000004d}.btn.ghost{color:var(--cream);background:0 0;box-shadow:inset 0 0 0 3px #fff6e580}.btn.ghost:active{box-shadow:inset 0 0 0 3px #fff6e5cc}.btn[disabled]{opacity:.45;filter:grayscale(.4)}.setup h2{font-family:var(--font);color:var(--gold);margin:0;font-size:clamp(30px,5vh,46px)}.players{grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px;width:min(760px,90vw);display:grid}.player-row{background:#ffffff0f;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.player-row .chip{border-radius:50%;flex:none;width:34px;height:34px;box-shadow:inset 0 -5px #00000040}.player-row input{font:700 20px var(--font);color:var(--cream);background:#00000040;border:0;border-radius:10px;outline:none;flex:1;min-width:0;padding:10px 12px}.player-row input:focus{box-shadow:0 0 0 3px var(--gold)}.player-row .x{color:var(--cream);opacity:.6;background:0 0;padding:6px;font-size:22px}.count{align-items:center;gap:10px;display:flex}.count button{width:46px;height:46px;color:var(--cream);background:#ffffff1f;border-radius:50%;font-size:26px;font-weight:700}.corner{font:700 14px var(--font);color:var(--gold);opacity:.8;position:absolute}.corner.tl{top:10px;left:14px}.corner.tr{color:var(--cream);top:10px;right:14px}.seat{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform-origin:50%;opacity:.78;background:linear-gradient(#1b4e80eb,#091c32eb);border:2px solid #ffffff1a;border-radius:22px;align-items:center;gap:10px;width:min(560px,44vw);height:66px;padding:6px 10px 6px 8px;transition:border-color .25s,box-shadow .25s,opacity .25s;display:flex;position:absolute;box-shadow:0 8px 24px #00000059,inset 0 1px #ffffff1f}.seat.active{opacity:1;border-color:var(--gold);box-shadow:0 0 0 4px #f2b32e4d,0 0 40px #f2b32e59,0 10px 30px #0006}.seat:before{content:"";background:var(--pc,var(--gold));border-radius:0 6px 6px 0;width:6px;position:absolute;top:14px;bottom:14px;left:0}.seat-bottom{bottom:8px;left:50%;transform:translate(-50%)}.seat-top{top:8px;left:50%;transform:translate(-50%)rotate(180deg)}.seat-left{width:min(560px,70vh);top:50%;left:8px;transform:translate(calc(32px - 50%),-50%)rotate(90deg)}.seat-right{width:min(560px,70vh);top:50%;right:8px;transform:translate(calc(50% - 32px),-50%)rotate(-90deg)}.seat .chip{width:40px;height:40px;font:700 18px var(--font);color:#0000008c;border-radius:50%;flex:none;place-items:center;margin-left:6px;display:grid;box-shadow:inset 0 -6px #00000040,0 3px 8px #00000059}.seat .name{font:700 18px var(--font);white-space:nowrap;text-overflow:ellipsis;flex:1;max-width:120px;overflow:hidden}.seat .stats{font:700 17px var(--font);flex:none;gap:6px;display:flex}.seat .stats i{background:#00000047;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-style:normal;display:inline-flex}.seat .stats img{width:20px;height:20px}.seat .stats .star{color:var(--star);font-size:22px;line-height:1}.seat .stats .emp{border:2px solid var(--gold);border-radius:3px;width:15px;height:20px;display:inline-block}.seat .roll{flex:none;min-width:104px;padding:.4em 1em;font-size:18px}.seat .roll[disabled]{opacity:.35}.roll.pulse{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.bump{animation:.45s cubic-bezier(.2,1.6,.4,1) bump}@keyframes bump{0%{filter:brightness()}40%{filter:brightness(1.6)}to{filter:brightness()}}.dim{z-index:30;background:#040e1c73;position:absolute;inset:0}.card{z-index:31;background:var(--cream);width:min(680px,80vmin);max-height:80vmin;color:var(--ink);border-radius:26px;grid-template-columns:auto 1fr;display:grid;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 30px 80px #0000008c}.card .art{background:#e9dcc5;align-self:stretch;place-items:center;width:clamp(160px,24vmin,250px);display:grid}.card .art img{object-fit:cover;width:100%;height:100%}.card .art.typo{text-align:center;place-items:center;padding:22px;display:grid}.card .art.typo .big{font:700 clamp(60px, 12vh, 110px) var(--font);color:#fff;text-shadow:0 6px #0003;line-height:1}.card .art.typo .sub{font:700 16px var(--font);color:#ffffffe6;letter-spacing:.1em;text-transform:uppercase;margin-top:8px}.card .body{flex-direction:column;gap:12px;min-width:0;padding:26px 28px;display:flex}.card .kicker{font:700 13px var(--font);letter-spacing:.16em;text-transform:uppercase;color:#fff;border-radius:999px;align-self:flex-start;padding:5px 12px}.card h3{font:700 clamp(28px, 5vh, 42px) var(--font);margin:0;line-height:1.05}.card p{font:600 clamp(15px, 2.4vh, 20px) var(--body);margin:0;line-height:1.45}.card .reward{font:700 clamp(22px, 4vh, 34px) var(--font);align-items:center;gap:10px;margin-top:4px;display:flex}.card .reward img{width:1.1em;height:1.1em}.card .reward .star{color:var(--star)}.card .reward .emp{border:3px solid var(--navy);background:var(--gold);border-radius:4px;width:.8em;height:1em;display:inline-block}.card .footer{font:600 13px var(--body);opacity:.6}.card .actions{gap:10px;margin-top:auto;padding-top:6px;display:flex}.card .actions .btn{font-size:clamp(18px,3vh,24px)}.card .hire{border:2px dashed var(--unpaid);font:600 15px var(--body);background:#7b4fbf1a;border-radius:14px;padding:10px 14px}.card .badge{font:700 12px var(--font);background:var(--star);color:#fff;letter-spacing:.1em;border-radius:999px;align-self:flex-start;padding:4px 10px}.opts{gap:8px;display:grid}.opt{text-align:left;font:700 clamp(15px, 2.4vh, 19px) var(--body);color:var(--ink);background:#fff;border:3px solid #0000;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.opt b{background:var(--navy);color:#fff;width:30px;height:30px;font-family:var(--font);border-radius:50%;flex:none;place-items:center;display:grid}.opt.right{border-color:var(--paid);background:#e6f6ec}.opt.wrong{border-color:var(--oops);background:#fbe7e5}.flyer{pointer-events:none;z-index:30;place-items:center;width:34px;height:34px;display:grid;position:absolute}.flyer img{filter:drop-shadow(0 4px 6px #0006);width:34px;height:34px}.flyer .star{color:var(--star);text-shadow:0 4px 6px #0006;font-size:36px;line-height:1}.flyer .emp{background:var(--gold);border:3px solid var(--navy);border-radius:4px;width:22px;height:30px}.trainer{z-index:5;background:var(--gold);width:min(520px,42vw);color:var(--navy);border-radius:18px;padding:14px 16px;position:absolute;top:12vh;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #0006}.trainer .k{font:700 12px var(--font);letter-spacing:.16em;text-transform:uppercase;opacity:.75}.trainer .q{font:700 15px var(--body);margin:6px 0 8px;line-height:1.3}.trainer .a{font:600 12px var(--body);opacity:.8;line-height:1.3}.trainer button{background:var(--navy);color:var(--gold);border-radius:999px;margin-top:10px;padding:8px 14px;font-size:14px;font-weight:700}.foofoo{aspect-ratio:420/569;pointer-events:none;transform-origin:50% 100%;height:clamp(110px,19vh,170px);animation:2.6s ease-in-out infinite breathe;position:absolute;bottom:22vh;left:24.5vw}.foofoo img{width:100%;height:100%;position:absolute;inset:0}@keyframes breathe{0%,to{transform:scale(1)translateY(0)}50%{transform:scale(1.012,1.02)translateY(-1px)}}.foofoo.talking{animation:.55s ease-in-out infinite talk}@keyframes talk{0%,to{transform:rotate(-1deg)translateY(0)}50%{transform:rotate(1.2deg)translateY(-3px)}}.bubble{z-index:6;color:var(--ink);font:700 15px var(--body);background:#fff;border-radius:16px;max-width:min(440px,40vw);padding:10px 14px;font-size:16px;line-height:1.35;position:absolute;bottom:calc(22vh + clamp(110px,19vh,170px) + 8px);left:24.5vw;box-shadow:0 10px 30px #00000059}.bubble:after{content:"";border:8px solid #0000;border-top-color:#fff;position:absolute;bottom:-14px;left:28px}.screen.end{background:radial-gradient(1000px 600px at 50% 30%, #1b4e80 0%, var(--navy) 65%);gap:14px;overflow:auto}.crowns{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.crown{text-align:center;background:#ffffff12;border:2px solid #ffffff1a;border-radius:20px;min-width:210px;padding:16px 22px}.crown .t{font:700 14px var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.crown .n{font:700 clamp(24px, 4.4vh, 36px) var(--font);margin:6px 0}.crown .s{font:600 14px var(--body);opacity:.7}.crown .ico{font-size:34px}.table{border-collapse:collapse;font:700 clamp(14px, 2.4vh, 18px) var(--font)}.table td,.table th{text-align:center;padding:6px 14px}.table th{opacity:.6;letter-spacing:.1em;text-transform:uppercase;font-size:.8em;font-weight:600}.closing{text-align:center;max-width:64ch;font:600 clamp(15px, 2.4vh, 20px) var(--body);line-height:1.45}.closing b{color:var(--gold);font-family:var(--font);margin-bottom:6px;font-size:1.15em;display:block}
