:root{--ink:#231b35;--paper:#fff8ec;--violet:#7657f8;--pink:#ff4f87;--gold:#f4b623;--mint:#22b99a;--blue:#3184ff;color:var(--ink);background:var(--paper);font-family:Nunito Sans Variable,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 14% 10%, #ffe3a8 0 7%, transparent 25%), radial-gradient(circle at 94% 90%, #efdaff 0 6%, transparent 28%), var(--paper);min-width:320px;margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:4px solid var(--blue);outline-offset:3px}.app{min-height:100vh;padding:25px clamp(18px,4vw,64px) 52px;position:relative;overflow:hidden}.app:before{content:"";pointer-events:none;opacity:.09;background-image:radial-gradient(var(--ink) .55px, transparent .55px);mix-blend-mode:multiply;z-index:3;background-size:5px 5px;position:fixed;inset:0}.topbar,.game-top{justify-content:space-between;align-items:center;gap:14px;max-width:1160px;margin:0 auto;display:flex}.wordmark{background:0 0;border:0;padding:0;font-family:Bowlby One,sans-serif;font-size:clamp(1.8rem,4vw,3rem);line-height:.8;transform:rotate(-2deg)}.wordmark span:first-child{color:var(--violet)}.wordmark b{color:var(--pink);vertical-align:top;place-items:center;margin:0 .08em;font-size:.68em;display:inline-grid;transform:rotate(10deg)}.wordmark span:last-child{color:var(--ink)}.wordmark.compact{font-size:1.5rem}.live-badge,.round-chip{border:2px solid var(--ink);background:var(--gold);box-shadow:3px 3px 0 var(--ink);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:7px 11px;font-size:.7rem;font-weight:1000}.live-badge i{background:var(--mint);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.home{grid-template-columns:1fr .95fr;align-items:center;gap:clamp(30px,8vw,100px);max-width:1080px;min-height:calc(100vh - 110px);margin:auto;display:grid}.home-copy{max-width:535px}.eyebrow{color:var(--violet);letter-spacing:.13em;text-transform:uppercase;margin:0 0 13px;font-size:.72rem;font-weight:1000}.home h1,.screen h1,.entry-poster h1{margin:0;font-family:Bowlby One,sans-serif;font-size:clamp(3.2rem,7.1vw,6.2rem);line-height:.92}.home h1 em,.screen h1 em,.entry-poster h1 em{color:var(--pink);font-style:normal}.home-copy>p:not(.eyebrow){max-width:430px;margin:24px 0 29px;font-size:1.2rem;font-weight:700;line-height:1.48}.actions{flex-wrap:wrap;gap:13px;display:flex}.button{border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:13px;min-height:52px;padding:11px 17px;font-weight:1000;transition:transform .16s,box-shadow .16s}.button:hover:not(:disabled){box-shadow:3px 3px 0 var(--ink);transform:translate(2px,2px)}.button:disabled{cursor:not-allowed;opacity:.45}.button b{margin-left:16px;font-size:1.2em}.primary{background:var(--violet);color:#fff}.secondary{background:var(--gold)}.home-copy small{color:#695e78;margin-top:22px;font-size:.78rem;font-weight:850;display:block}.marquee{place-items:center;height:420px;display:grid;position:relative;transform:rotate(2deg)}.fake-gif{aspect-ratio:1.1;background:linear-gradient(145deg, var(--violet), #ba9cff);border:5px solid var(--ink);width:min(100%,330px);box-shadow:13px 13px 0 var(--pink), 24px 24px 0 var(--gold);text-align:center;border-radius:27px;place-content:center;display:grid;position:relative;overflow:hidden}.fake-gif:before,.fake-gif:after{content:"";border:4px solid var(--ink);opacity:.5;border-radius:45%;width:230px;height:230px;position:absolute;top:-90px;left:-65px;transform:rotate(19deg)}.fake-gif:after{top:170px;left:135px;transform:rotate(-20deg)}.fake-gif i{color:var(--gold);text-shadow:4px 4px var(--ink);z-index:1;font-size:4rem;font-style:normal}.fake-gif strong{color:#fff;z-index:1;font-family:Bowlby One;font-size:2rem;line-height:.86}.take{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:var(--paper);z-index:2;border-radius:9px;padding:8px 11px;font-weight:1000;position:absolute}.take-a{background:var(--gold);top:50px;left:0;transform:rotate(-10deg)}.take-b{max-width:155px;top:154px;right:-10px;transform:rotate(6deg)}.take-c{background:var(--pink);color:#fff;bottom:42px;left:16px;transform:rotate(5deg)}.entry-card{border:4px solid var(--ink);max-width:920px;box-shadow:12px 12px 0 var(--pink), 23px 23px 0 var(--gold);background:#fff;border-radius:22px;grid-template-columns:.9fr 1.1fr;margin:7vh auto;display:grid;overflow:hidden}.entry-poster{background:var(--violet);color:#fff;padding:42px 34px;position:relative;overflow:hidden}.entry-poster:after{content:"&";color:var(--pink);opacity:.8;font-family:Bowlby One;font-size:18rem;line-height:.8;position:absolute;bottom:-75px;right:-58px}.entry-poster>*{z-index:1;position:relative}.entry-poster .eyebrow{color:var(--gold)}.entry-poster h1{font-size:clamp(3rem,5vw,4.8rem)}.entry-poster p:last-child{max-width:270px;margin-top:20px;font-weight:700;line-height:1.5}form{gap:18px;padding:30px;display:grid}label,fieldset{letter-spacing:.09em;text-transform:uppercase;border:0;gap:7px;margin:0;padding:0;font-size:.72rem;font-weight:1000;display:grid}input,textarea,select{border:3px solid var(--ink);background:var(--paper);width:100%;box-shadow:3px 3px 0 var(--ink);letter-spacing:0;border-radius:10px;outline:0;padding:11px 12px;font-size:1rem;font-weight:750}.code-input{font-family:Bowlby One;font-size:1.3rem}.avatar-list,.colour-list{flex-wrap:wrap;gap:8px;display:flex}.avatar-list button{border:2px solid var(--ink);background:#fff;border-radius:10px;width:42px;height:42px;font-size:1.25rem}.avatar-list button.chosen{background:var(--gold);box-shadow:3px 3px 0 var(--ink);transform:translate(-2px,-2px)}.colour-list button{width:29px;height:29px;box-shadow:0 0 0 2px var(--ink);border:3px solid #fff;border-radius:50%}.colour-list button.chosen{box-shadow:0 0 0 3px var(--ink), 3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.submit{width:100%}.text-button{color:#fff;background:0 0;border:0;padding:2px;font-weight:900;text-decoration:underline}.text-button.dark{color:var(--violet);justify-self:start}.game-top{margin-bottom:18px}.room-chip{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;display:flex}.room-chip span{text-transform:uppercase;letter-spacing:.11em;font-size:.58rem;font-weight:1000}.room-chip strong{font-family:Bowlby One;font-size:1rem}.room-chip i{color:var(--violet);font-size:.62rem;font-style:normal;font-weight:900}.room-actions{align-items:center;gap:10px;display:flex}.room-code-visibility{border:2px solid var(--ink);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#fff;border-radius:999px;min-height:32px;padding:5px 9px;font-size:.6rem;font-weight:1000}.round-chip{background:#fff}.score-strip{border:3px solid var(--ink);max-width:1160px;box-shadow:4px 4px 0 var(--ink);background:#fff;border-radius:13px;gap:8px;margin:0 auto 22px;padding:8px;display:flex;overflow:auto}.player-token{grid-template-rows:auto auto;grid-template-columns:31px 1fr;align-items:center;gap:0 7px;min-width:128px;display:grid}.player-token>i,.cast-list i,.winner-people i,.reveal-list i{border:2px solid var(--ink);border-radius:50%;grid-row:1/3;place-items:center;width:31px;height:31px;font-style:normal;display:grid}.player-token strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.player-token small{text-transform:uppercase;letter-spacing:.06em;color:#6b6077;font-size:.61rem;font-weight:1000}.picker-token{border-left:4px solid var(--pink);padding-left:5px}.away{opacity:.4;filter:grayscale()}.notice{border:2px solid var(--ink);text-align:center;background:#ffe0a9;border-radius:9px;max-width:760px;margin:0 auto 16px;padding:8px 11px;font-weight:800}.screen{text-align:center;max-width:850px;margin:3vh auto 60px}.screen>p:not(.eyebrow){font-weight:700;line-height:1.5}.lobby{text-align:left;grid-template-columns:1fr 1fr;align-items:center;gap:24px 55px;display:grid}.lobby>h1{font-size:clamp(3.1rem,6vw,5.5rem)}.big-code{border:5px solid var(--ink);background:var(--violet);box-shadow:9px 9px 0 var(--pink), 16px 16px 0 var(--gold);color:#fff;border-radius:18px;padding:25px;transform:rotate(2deg)}.big-code span{letter-spacing:.12em;text-transform:uppercase;font-size:.67rem;font-weight:1000;display:block}.big-code strong{color:var(--gold);text-shadow:4px 4px var(--ink);font-family:Bowlby One;font-size:clamp(3rem,6vw,4.7rem)}.cast-list{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.cast-list>div{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:36px 1fr;align-items:center;gap:0 8px;padding:7px;display:grid}.cast-list i{width:36px;height:36px}.cast-list span{font-weight:900}.cast-list small{color:#766b83;font-size:.62rem;font-weight:900}.cast-list .spectator{opacity:.55;filter:grayscale(.7)}.lobby>.button,.lobby>.waiting-note{grid-column:1/-1;justify-self:center}.waiting-note{color:#6e617f;font-weight:800}.waiting,.winner,.result{max-width:640px}.waiting h1,.winner h1,.result h1{font-size:clamp(3rem,7vw,5.7rem)}.loading-reel{border:4px solid var(--ink);background:var(--gold);width:86px;height:86px;box-shadow:6px 6px 0 var(--pink);border-radius:50%;margin:26px auto;font-family:Bowlby One;font-size:3.5rem;line-height:72px;animation:2.5s linear infinite spin}.choose{max-width:1050px}.choose h1,.captioning h1,.judging h1{font-size:clamp(2.8rem,6vw,5.1rem)}.gif-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0 17px;display:grid}.gif-card{border:3px solid var(--ink);background:var(--ink);box-shadow:4px 4px 0 var(--ink);aspect-ratio:1.27;border-radius:14px;padding:0;transition:transform .15s;position:relative;overflow:hidden}.gif-card:hover{transform:rotate(-1deg)translateY(-3px)}.gif-card img{object-fit:cover;width:100%;height:100%;display:block}.gif-card span{color:#fff;text-align:left;background:linear-gradient(#0000,#000c);padding:24px 10px 9px;font-size:.73rem;font-weight:1000;position:absolute;inset:auto 0 0}.gif-card b{float:right}.redraw{justify-self:center}.redraw:disabled{color:#8e8397}.giphy{letter-spacing:.1em;text-transform:uppercase;color:#867b91;margin-top:15px;font-size:.64rem;font-weight:900;display:block}.error-box{border:3px solid var(--ink);background:#ffd5e3;border-radius:12px;gap:7px;max-width:450px;margin:20px auto;padding:15px;font-weight:800;display:grid}.hero-gif{object-fit:cover;border:4px solid var(--ink);width:min(100%,450px);max-height:310px;box-shadow:8px 8px 0 var(--gold);border-radius:18px;margin:22px auto;display:block}.mini-gif{object-fit:cover;border:3px solid var(--ink);width:130px;height:96px;box-shadow:4px 4px 0 var(--gold);border-radius:12px;margin:5px auto 12px}.caption-form{text-align:left;max-width:540px;margin:18px auto 0;padding:0}.caption-form textarea{resize:vertical;min-height:104px;line-height:1.4}.caption-form small{color:#746a7e;letter-spacing:0;font-size:.68rem;font-weight:800}.caption-form .button{justify-self:center;margin-top:5px}.locked{border:3px solid var(--ink);max-width:430px;box-shadow:5px 5px 0 var(--mint);background:#d4f6e9;border-radius:14px;margin:22px auto;padding:18px;font-size:1.1rem;font-weight:1000}.locked small{color:#5f6071;margin-top:6px;font-size:.76rem;display:block}.lock-row{justify-content:center;gap:9px;margin:27px;display:flex}.lock-row span{border:3px solid var(--ink);opacity:.4;background:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:1000;display:grid}.lock-row .done{opacity:1;background:var(--gold);box-shadow:3px 3px 0 var(--ink)}.judging{max-width:790px}.caption-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:13px;margin:24px 0;display:grid}.caption-cards button{border:3px solid var(--ink);min-height:135px;box-shadow:4px 4px 0 var(--ink);text-align:left;background:#fff;border-radius:14px;grid-template-rows:auto 1fr auto;gap:7px;padding:14px;transition:all .15s;display:grid}.caption-cards button:hover{transform:translateY(-3px)}.caption-cards button.chosen{background:var(--gold);box-shadow:5px 5px 0 var(--pink);transform:rotate(-1deg)}.caption-cards small{letter-spacing:.12em;color:var(--violet);font-size:.64rem;font-weight:1000}.caption-cards strong{font-size:1.04rem;line-height:1.35}.caption-cards i{text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;font-style:normal;font-weight:900}.reveal-list{text-align:left;gap:9px;margin:24px 0;display:grid}.reveal-list>div{border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff;border-radius:12px;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:9px;display:grid}.reveal-list i{width:42px;height:42px}.reveal-list span{gap:2px;display:grid}.reveal-list strong{line-height:1.3}.reveal-list small{color:#71667f;font-size:.72rem;font-weight:850}.reveal-list b{background:var(--pink);color:#fff;border-radius:8px;align-self:stretch;place-items:center;padding:0 10px;font-family:Bowlby One;font-size:1.2rem;display:grid}.winner-card{background:#fff6cb!important}.winner-note{color:var(--violet);font-weight:850}.trophy{color:var(--gold);text-shadow:5px 5px var(--pink), 8px 8px var(--ink);margin:25px;font-size:5.5rem;line-height:.8;transform:rotate(-8deg)}.winner-people{flex-wrap:wrap;justify-content:center;gap:15px;margin:27px;display:flex}.winner-people>div{justify-items:center;gap:5px;min-width:135px;display:grid}.winner-people i{width:58px;height:58px;box-shadow:4px 4px 0 var(--ink);font-size:1.55rem}.winner-people strong{font-family:Bowlby One;font-size:1.2rem}.winner-people span{text-transform:uppercase;letter-spacing:.07em;color:var(--violet);font-size:.72rem;font-weight:1000}.waiting-page{text-align:center;place-content:center;justify-items:center;display:grid}.waiting-page h1{margin:0;font-family:Bowlby One;font-size:clamp(3rem,8vw,5rem);line-height:.95}.waiting-page p{font-weight:750}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:720px){.home{text-align:center;grid-template-columns:1fr;min-height:auto;margin-top:6vh}.home-copy{margin:auto}.actions{justify-content:center}.marquee{width:330px;height:330px;margin:auto;transform:scale(.88)}.entry-card{grid-template-columns:1fr;margin:3vh auto}.entry-poster{padding:30px}.entry-poster h1{font-size:3.2rem}.game-top{gap:7px}.room-chip{order:3;justify-content:center;width:100%}.room-actions{justify-content:center;width:100%}.round-chip{font-size:.62rem}.score-strip{margin-top:15px}.lobby{text-align:center;grid-template-columns:1fr}.cast-list,.lobby>.button,.lobby>.waiting-note{grid-column:1}.big-code{justify-self:center;width:min(100%,400px)}.gif-grid{grid-template-columns:1fr 1fr}.screen{margin-top:2vh}.caption-cards{grid-template-columns:1fr}.hero-gif{max-height:250px}}@media (max-width:430px){.app{padding-left:15px;padding-right:15px}.live-badge{display:none}.home h1{font-size:3.25rem}.marquee{margin:-27px auto;transform:scale(.75)}.entry-card{box-shadow:8px 8px 0 var(--pink), 15px 15px 0 var(--gold)}.room-chip i{display:none}.gif-grid{gap:9px}.gif-card span{padding:18px 7px 6px;font-size:.61rem}.cast-list{grid-template-columns:1fr 1fr}.screen h1{font-size:3.1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
