@import"https://fonts.googleapis.com/css2?family=Lilita+One&display=swap";@import"https://fonts.googleapis.com/css2?family=Freeman&display=swap";body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#fff;width:100%;height:100%;--background-color: #113f6e;background-color:var(--background-color);--background-pattern: none;background-image:var(--background-pattern);--background-color-full-tp: none;--secondary-color: none;--tertiary-color: none;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--display-font: "Freeman", "Lilita One", system-ui, sans-serif;--text-xs: clamp(.7rem, .66rem + .2vw, .85rem);--text-sm: clamp(.8rem, .75rem + .25vw, .98rem);--text-base: clamp(.95rem, .88rem + .3vw, 1.15rem);--text-lg: clamp(1.05rem, .95rem + .5vw, 1.4rem);--text-xl: clamp(1.3rem, 1.1rem + 1vw, 2rem);--text-word: clamp(1.7rem, 1.2rem + 2.5vw, 3.6rem);--text-banned: clamp(.95rem, .85rem + .75vw, 1.6rem);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius: 6px;--radius-sm: 4px;--shadow: 0 2px 4px rgba(0, 0, 0, .22), 0 10px 28px rgba(0, 0, 0, .28);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2), 0 4px 12px rgba(0, 0, 0, .18);--hairline: 1px solid rgba(255, 255, 255, .07);--team-green: rgb(171, 255, 157);--team-blue: rgb(157, 227, 255);--danger: #ec596a;--danger-ink: #4d0c12;--danger-edge: #d14152;--go: #79e049;--go-ink: #24610a;--go-edge: #61c632;--tap: 44px;--card-body: clamp(140px, 26vh, 240px);--action-row: max(var(--tap), 3em);--panel-gap: clamp(var(--space-2), 1.2vw, var(--space-4));--shell-max: clamp(340px, 96vw, 1180px);--ease: cubic-bezier(.22, 1, .36, 1)}@media(min-width:1600px){:root{--shell-max: 1360px}}@media(min-width:2200px){:root{--shell-max: 1520px}}::selection{background:var(--team-green);color:#10240c}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:99px}*::-webkit-scrollbar-thumb:hover{background:#ffffff57}*::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:2px solid var(--team-blue);outline-offset:2px;border-radius:2px}.App{text-align:center;min-height:100dvh;display:flex;flex-direction:column;padding:max(var(--space-2),env(safe-area-inset-top)) max(var(--space-2),env(safe-area-inset-right)) max(var(--space-2),env(safe-area-inset-bottom)) max(var(--space-2),env(safe-area-inset-left));box-sizing:border-box}.lobby-container{display:flex;justify-content:center;align-items:center;min-height:calc(100dvh - var(--space-4));padding:var(--space-3) 0;box-sizing:border-box}.lobby{width:min(370px,100%);max-width:100%;min-height:min(70vh,560px);display:flex;flex-direction:column;background-color:var(--secondary-color);border:var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-5);box-sizing:border-box;text-align:center}.lobby form{display:flex;flex-direction:column;flex:1;min-height:0}.form-content{flex:1;min-height:0}.lobby-container.settings{flex-direction:column;gap:var(--space-4)}@media(min-width:900px){.lobby-container.settings{flex-direction:row;align-items:stretch;justify-content:center}.lobby-container.settings .lobby{width:min(400px,42vw)}.lobby-container.settings .lobby.teams,.lobby-container.settings .lobby.buttons{min-height:min(58vh,480px)}}.lobby.teams{min-height:min(46vh,380px);height:auto}.lobby.buttons{min-height:0;height:auto;margin-top:0}.game-screen{width:100%;max-width:var(--shell-max);margin:0 auto;flex:1;display:grid;grid-template-rows:1fr auto 1fr;gap:var(--space-2)}.game-header{grid-row:1;align-self:end;display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-2)}.game{grid-row:2}@media(max-height:700px){.game-screen{grid-template-rows:auto auto;align-content:start}.game-header{align-self:auto;padding-bottom:0}}.round-details{margin-top:var(--space-2);display:flex;justify-content:center;align-items:center}.round-details>div{display:flex;align-items:center;justify-content:center;gap:clamp(var(--space-4),6vw,var(--space-6));border-radius:var(--radius);color:var(--text-on-bg-color);padding:var(--space-2) var(--space-3)}.round-details h4{font-size:var(--text-sm);opacity:.8}.round-details .second{font-size:var(--text-lg);opacity:1;font-variant-numeric:tabular-nums}.turn-line{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:0;font-size:var(--text-sm);color:var(--text-on-bg-color);opacity:.65}.game{display:grid;grid-template-columns:1fr;gap:var(--panel-gap);width:100%;margin:0 auto;align-items:start}.words{order:1}.scoreboard{order:2}.chat{order:3}.scoreboard,.words,.chat{width:auto;min-width:0;display:flex;flex-direction:column}@media(min-width:760px){.game{grid-template-columns:minmax(170px,.85fr) minmax(300px,1.5fr) minmax(170px,.85fr);align-items:stretch}.scoreboard{order:1}.words{order:2}.chat{order:3}}.banner{background:var(--tertiary-color);border-radius:var(--radius) var(--radius) 0 0;font-size:var(--text-base);padding:var(--space-2) var(--space-3);border:var(--hairline);border-bottom:none}.banner h3{font-size:1em}.banner-content{padding:var(--space-2) var(--space-3);background:var(--secondary-color);border-radius:0 0 var(--radius) var(--radius);color:#fff;border:var(--hairline);border-top:none!important;box-shadow:var(--shadow-sm)}.banner,.banned-word,h1{font-family:var(--display-font);text-transform:uppercase}.words{font-size:var(--text-lg)}.words .banner{font-size:var(--text-word);padding:var(--space-2) var(--space-3);line-height:1.15;overflow-wrap:anywhere}.words .banner-content{min-height:var(--card-body);display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);box-sizing:border-box}.words--tall .banner-content{min-height:calc(var(--card-body) + var(--action-row) + var(--space-2))}.start-turn-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);flex:1;width:100%}.start-turn-wrap button{width:min(80%,300px);min-height:var(--action-row);border:none;border-radius:var(--radius-sm);font-size:var(--text-base);box-shadow:var(--shadow-sm)}.skip-turn{background:#6f6f6f;color:#1c1c1c;border-bottom:3px solid #565656!important}.words .banned-word{color:#fff;font-size:var(--text-banned);line-height:1.25;padding:.08em 0;overflow-wrap:anywhere}.last-round{opacity:.55;font-size:var(--text-sm)!important;text-transform:none;font-family:inherit}.scoreboard .banner-content{border-radius:0!important;flex:1;text-align:left;display:flex;flex-direction:column}.scoreboard .banner-content p{font-size:var(--text-xs)}.speaker-line{background:var(--tertiary-color);border:var(--hairline);border-top:none;border-radius:0 0 var(--radius) var(--radius);min-height:var(--tap);display:flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.speaker-line p{margin:0}button{font-size:var(--text-sm);padding:0;font-weight:700;font-family:var(--display-font);transition:transform .12s var(--ease),opacity .12s var(--ease),background-color .12s var(--ease)}button:disabled{opacity:.55}button:disabled:hover{cursor:not-allowed}@media(hover:hover){button:not(:disabled):hover{cursor:pointer;opacity:.9}}button:not(:disabled):active{transform:translateY(1px)}.speaker-buttons{display:flex;align-items:stretch;gap:var(--space-2);width:100%;margin-top:var(--space-2);min-height:var(--action-row)}.speaker-buttons button{flex:1;border-radius:var(--radius-sm);border:none;min-height:max(var(--tap),3em);font-size:var(--text-base);box-shadow:var(--shadow-sm)}button.fail{color:var(--danger-ink);background:var(--danger);border-bottom:3px solid var(--danger-edge)}button.success{color:var(--go-ink);background:var(--go);border-bottom:3px solid var(--go-edge)}#join-game,#start-game,#create-game,#change-team{align-self:center;margin-top:auto!important;color:var(--secondary-color);background:#fff;border:none;border-radius:var(--radius-sm)!important;font-family:var(--display-font);font-size:var(--text-lg);min-height:var(--tap);width:min(65%,260px);box-shadow:var(--shadow-sm)}#change-team{width:min(80%,300px)}.link-button{background:none;border:none;color:inherit;font-family:inherit;font-size:var(--text-xs);font-weight:400;opacity:.65;text-decoration:underline;text-underline-offset:3px;padding:var(--space-2) var(--space-2);min-height:var(--tap);min-width:var(--tap);display:inline-flex;align-items:center;justify-content:center}@media(hover:hover){.link-button:hover{opacity:1}}.lobby-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.green-dark-border{border-bottom:3px solid rgb(87,175,71)!important}.blue-dark-border{border-bottom:3px solid rgb(63,150,185)!important}.green{color:var(--team-green)}.blue{color:var(--team-blue)}input,select{width:100%;box-sizing:border-box;background:#00000080;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);color:#fff!important;caret-color:var(--team-green);font-size:max(16px,var(--text-sm));min-height:var(--tap);padding:0 var(--space-2);font-family:inherit}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.6) 50%),linear-gradient(135deg,rgba(255,255,255,.6) 50%,transparent 50%);background-position:right 14px center,right 9px center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:var(--space-6)}input::placeholder{color:#ffffff8c}.label{display:block;text-align:left;margin:var(--space-3) 0 var(--space-1) 0;font-size:var(--text-sm);color:#ffffffe6;float:none}.pack-selection{text-align:left}.controls-box{display:flex;gap:var(--space-2);width:100%;padding-bottom:var(--space-3)}.control{flex:1 1 50%;box-sizing:border-box;min-width:0}.control select,#pack-select{width:100%}.controls-container{margin-top:auto!important;display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.form-error{color:var(--danger);font-size:var(--text-xs);margin:var(--space-1) 0 0 0}.teams-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1) var(--space-2);align-items:start}.teams-box *{margin:0}.teams-box{box-sizing:border-box;min-width:0}.teams-box.top h2{font-size:var(--text-base);padding-bottom:var(--space-1);border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:var(--space-1)}.player{display:block;width:100%;padding:var(--space-2) var(--space-1);min-height:var(--tap);background:none;border:none;border-radius:var(--radius-sm);color:inherit;font:inherit;font-size:var(--text-sm);text-align:center;overflow-wrap:anywhere}@media(hover:hover){.player:hover{cursor:pointer;background:#ffffff0f}}.player:active{background:#ffffff1a}.player-offline{opacity:.4;font-style:italic}.chat .banner-content{padding-left:0;padding-right:0;padding-top:0;flex:1;display:flex;flex-direction:column}.chat-box{height:clamp(120px,22vh,220px);overflow-y:auto;display:flex;flex-direction:column-reverse;overscroll-behavior-y:contain}.chat-message{border-top:1px solid rgba(255,255,255,.08);padding:var(--space-1) var(--space-3);text-align:left;font-size:var(--text-sm);overflow-wrap:anywhere}.chat-empty{padding:var(--space-4) var(--space-3);font-size:var(--text-xs);opacity:.62;text-align:center}.chat input{width:calc(100% - (var(--space-3) * 2));margin:var(--space-2) var(--space-3) 0 var(--space-3)}.system-message-red{color:var(--danger-ink);background-color:var(--danger)}.system-message-green{color:var(--go-ink);background-color:var(--go)}.system-message-blue{color:#131046;background-color:#7b7be0}.colour-container{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-2);justify-items:center;width:100%}.color-picker{width:100%;max-width:46px;aspect-ratio:1;border-radius:100%;border:2px solid var(--tertiary-color);padding:0;background-color:transparent;background-size:cover;transition:transform .15s var(--ease),border-color .15s var(--ease)}@media(hover:hover){.color-picker:hover{cursor:pointer;transform:scale(1.08)}}.color-picker[aria-pressed=true]{border-color:#fff;transform:scale(1.08)}.personal-scores{margin:var(--space-2) auto 0 auto;padding-top:var(--space-2);border-top:1px solid rgba(255,255,255,.15);font-size:var(--text-sm);text-align:left;max-width:280px;text-transform:none;font-family:system-ui,sans-serif}.personal-scores p{margin:2px 0;display:flex;justify-content:space-between;gap:var(--space-3)}.personal-scores .is-you{font-weight:700}.personal-score-value{opacity:.75;font-variant-numeric:tabular-nums}.icon-pad-right{margin-right:5px}.sixteen-width{width:16px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.timer{position:relative;display:inline-block;width:75px;height:75px;color:var(--text-on-bg-color)}.timer-track{stroke:#ffffff29}.timer-progress{stroke:currentColor;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1s linear,stroke .3s var(--ease)}.timer-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.timer-value h2{margin:0;font-size:var(--text-xl);font-variant-numeric:tabular-nums;line-height:1}.timer--urgent{color:var(--danger)}.timer--urgent .timer-value h2{animation:timer-pulse 1s var(--ease) infinite}@keyframes timer-pulse{0%,to{transform:scale(1)}18%{transform:scale(1.14)}}.connection-banner{background:var(--danger);color:var(--danger-ink);font-size:var(--text-sm);font-weight:700;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-1);box-shadow:var(--shadow-sm)}.modal-title{margin:0 0 var(--space-2) 0;font-family:var(--display-font);font-size:var(--text-lg);text-align:center}.modal-note{margin:0 0 var(--space-2) 0;font-size:var(--text-xs);opacity:.6;text-align:center}.modal-actions{display:flex;flex-direction:column;gap:var(--space-2)}.modal-action{width:100%;min-height:var(--tap);border:none;border-radius:var(--radius-sm);background:#ffffff1a;color:#fff;font-size:var(--text-base)}.modal-action--danger{background:var(--danger);color:var(--danger-ink)}.modal-action--quiet{background:transparent;border:1px solid rgba(255,255,255,.2);opacity:.8}.ReactModal__Overlay{opacity:0;transition:opacity .12s var(--ease)}.ReactModal__Overlay--after-open{opacity:1}.ReactModal__Overlay--before-close{opacity:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-height:480px)and (orientation:landscape){:root{--text-word: clamp(1.1rem, .9rem + 1.2vw, 1.6rem);--text-banned: clamp(.85rem, .75rem + .5vw, 1.1rem)}.round-details{margin-top:0}.round-details>div{padding:var(--space-1) var(--space-2)}.timer{width:54px;height:54px}.words .banner-content{min-height:0;padding:var(--space-1) var(--space-3)}.chat-box{height:clamp(80px,18vh,120px)}.speaker-buttons button{min-height:var(--tap)}}.lobby-code{display:flex;flex-direction:column;align-items:center;gap:2px;padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid rgba(255,255,255,.1)}.lobby-code-label{font-size:var(--text-sm);opacity:.7}.lobby-code-value{font-family:var(--display-font);font-size:var(--text-xl);letter-spacing:.16em;line-height:1.1}.lobby.home{gap:var(--space-3);min-height:min(70vh,600px)}.home-title{font-family:var(--display-font);font-size:clamp(2.6rem,2rem + 4vw,4.4rem);line-height:1;margin:0 0 var(--space-3) 0}.home-tagline{margin:0 auto var(--space-4) auto;max-width:32ch;font-size:var(--text-base);line-height:1.45;opacity:.85}.home-blurb{margin:0 auto;max-width:34ch;font-size:var(--text-base);line-height:1.5;opacity:.9}.home-actions{display:flex;justify-content:center}.home-actions #create-game{margin-top:0!important;width:100%}.home-join{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--space-2)}.home-join-row{display:flex;gap:var(--space-2)}.home-join-row input{flex:1;min-width:0;font-family:var(--display-font);letter-spacing:.18em;text-align:center;text-transform:uppercase}.home-join-row #join-game{margin-top:0!important;width:auto;flex:0 0 auto;padding:0 var(--space-4);background:transparent;color:#fff;border:1px solid rgba(255,255,255,.28);box-shadow:none}.home-join-row #join-game:not(:disabled){border-color:#fff9}.hint{margin:0;font-size:var(--text-xs);opacity:.55;text-align:center}.roster{display:flex;flex-direction:column;text-align:left;flex:1;min-height:0}.roster-lists{display:flex;flex-direction:column;gap:var(--space-3);flex:1;height:0;min-height:clamp(120px,20vh,200px);overflow-y:auto;overscroll-behavior-y:contain}.roster-team{display:flex;flex-direction:column}.roster-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:var(--space-1);font-size:var(--text-sm)}.roster-watching{opacity:.75}.roster-players{display:flex;flex-wrap:wrap;gap:2px var(--space-1)}.roster-player{display:inline-flex;align-items:center;text-align:left;min-height:24px;padding:2px 3px;background:none;border:none;color:inherit;font-family:inherit;font-size:var(--text-sm);font-weight:700;overflow-wrap:anywhere}@media(pointer:coarse){.roster-player{min-height:var(--tap);min-width:var(--tap);padding:2px var(--space-1)}}@media(hover:hover){.roster-player:hover{cursor:pointer;text-decoration:underline;text-underline-offset:3px}}.roster-player:active{opacity:.7}.roster-player--speaking{color:var(--team-tint, var(--team-green))}.roster-empty{margin:0;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);opacity:.5}.roster-actions{display:flex;gap:var(--space-2);margin-top:auto;padding-top:var(--space-2);border-top:1px solid rgba(255,255,255,.1)}.roster-action{flex:1;min-height:var(--tap);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-sm);background:transparent;color:#fff;font-size:var(--text-xs);padding:0 var(--space-1)}@media(hover:hover){.roster-action:hover{background:#ffffff14}}.lobby-spectators{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid rgba(255,255,255,.1)}.lobby-spectators-label{display:block;font-size:var(--text-sm);opacity:.7;margin-bottom:var(--space-1)}.lobby-team-actions{display:flex;gap:var(--space-2);width:100%}
