@import "https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--paper:#f6f1e7;--ink:#171714;--red:#f04b2d;--yellow:#f5c842;--blue:#5c6bdb;--muted:#726f67;--line:#d8d1c4;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--paper);min-height:100%}body{background:radial-gradient(circle at 85% 8%,#f5c84229,transparent 22rem),var(--paper);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.shell{width:min(1180px,100% - 40px);min-height:100vh;margin:auto;padding:34px 0 48px;position:relative}.shell-compact{width:min(820px,100% - 36px)}header,.lobby-header{justify-content:space-between;align-items:center;display:flex}.brand{letter-spacing:-.04em;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:0;font-family:Archivo Black,sans-serif;font-size:18px;display:flex}.brand-mark{border:3px solid var(--ink);background:var(--red);color:#fff;width:38px;height:38px;box-shadow:3px 3px 0 var(--ink);place-items:center;font-size:17px;display:grid;transform:rotate(-5deg)}.eyebrow,.kicker{letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:800}.eyebrow{color:var(--muted)}.hero{min-height:430px;padding:82px 4% 55px;position:relative;overflow:hidden}.hero h1,.page-title h1,.main-column>h1,.review-wrap>h1{text-transform:uppercase;letter-spacing:-.07em;margin:12px 0 22px;font-family:Archivo Black,sans-serif;font-size:clamp(56px,9vw,116px);line-height:.84}h1 em{color:var(--red);font-style:normal}.hero-copy{color:#4c4942;width:min(500px,80%);margin:0;font-size:18px;line-height:1.55}.burst{z-index:-1;border-radius:50%;position:absolute}.burst-one{background:var(--yellow);clip-path:polygon(50% 0,59% 32%,79% 9%,72% 38%,100% 27%,77% 50%,100% 64%,70% 61%,78% 93%,57% 68%,48% 100%,42% 68%,18% 91%,28% 60%,0 66%,24% 49%,2% 29%,31% 38%,23% 8%,43% 32%);width:290px;height:290px;top:90px;right:6%;transform:rotate(8deg)}.burst-two{border:22px solid var(--blue);opacity:.9;width:110px;height:110px;bottom:55px;right:31%}.join-card{border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);background:#fffefa;grid-template-columns:auto 1fr minmax(320px,500px);align-items:center;gap:26px;padding:26px;display:grid}.step-number{background:var(--ink);color:#fff;align-self:stretch;place-items:center;min-width:68px;font-family:Archivo Black;font-size:24px;display:grid}.join-card h2,.panel h2{margin:0 0 5px;font-size:20px}.join-card p,.panel p{color:var(--muted);margin:0}label{gap:8px;font-size:14px;font-weight:700;display:grid}.code-form label{width:1px;height:1px;position:absolute;overflow:hidden}.code-row{gap:10px;display:flex}input,select{border:2px solid var(--ink);background:#fff;border-radius:0;outline:none;width:100%;min-height:54px;padding:0 16px}input:focus,select:focus{box-shadow:0 0 0 3px var(--yellow)}.code-row input{letter-spacing:.22em;text-transform:uppercase;font-family:Archivo Black;font-size:22px}.btn{border:2px solid var(--ink);cursor:pointer;min-height:52px;box-shadow:3px 3px 0 var(--ink);justify-content:center;align-items:center;gap:20px;padding:0 22px;font-weight:800;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex}.btn:hover:not(:disabled){box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.btn:active:not(:disabled){box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-dark{background:var(--ink);color:#fff}.btn-primary{background:var(--red);color:#fff}.btn-light{color:var(--ink);background:#fff}.btn-large{width:100%;min-height:62px}.btn-huge{width:min(440px,100%);min-height:72px;margin:28px auto;font-size:18px}.create-link{color:var(--ink);text-underline-offset:4px;justify-content:center;gap:12px;margin:32px auto 50px;font-weight:800;display:flex}.create-link span{color:var(--muted);font-weight:500}.round-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.round-strip div{border-right:1px solid var(--line);text-transform:uppercase;align-items:center;gap:14px;padding:22px;font-weight:800;display:flex}.round-strip div:last-child{border:0}.round-strip b{color:var(--red);font-family:Archivo Black}.page-title{padding:85px 0 36px}.page-title h1{font-size:clamp(58px,11vw,94px)}.panel{border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);background:#fffefa;padding:28px}.form-stack{gap:25px;display:grid}.setting{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.setting div:first-child{gap:4px;display:grid}.setting small{color:var(--muted)}.setting select{width:180px}.seconds-input{border:2px solid var(--ink);background:#fff;align-items:center;width:180px;min-height:46px;display:flex}.seconds-input input{text-align:right;border:0;width:100%;min-width:0;min-height:42px;padding:0 10px;font-weight:800}.seconds-input span{color:var(--muted);white-space:nowrap;padding-right:10px;font-size:12px;font-weight:800}.stepper{border:2px solid var(--ink);height:48px;display:flex}.stepper button{background:var(--paper);cursor:pointer;border:0;width:46px;font-size:22px}.stepper strong{border-left:2px solid var(--ink);border-right:2px solid var(--ink);place-items:center;min-width:48px;display:grid}.error{border-left:4px solid var(--red);color:#8e2817;background:#ffe2dc;padding:12px 14px;font-weight:700}.game-page{width:min(1240px,100% - 40px);min-height:100vh;margin:auto;padding:26px 0 60px}.lobby-header{border-bottom:1px solid var(--line);padding-bottom:20px}.lobby-meta{color:var(--muted);align-items:center;gap:9px;font-size:13px;display:flex}.lobby-meta b{color:var(--ink);border:1px solid var(--ink);letter-spacing:.14em;padding:5px 9px}.live-dot{background:#2ba66b;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #2ba66b24}.live-dot.offline{background:#a4a099}.game-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:54px;padding-top:65px;display:grid}.main-column>h1{font-size:clamp(48px,7vw,88px)}.side-column{align-content:start;gap:22px;padding-top:30px;display:grid}.progress-label,.panel-title{justify-content:space-between;align-items:center;display:flex}.progress{background:#e6dfd3;height:9px;margin:12px 0 22px}.progress i{background:var(--red);height:100%;transition:width .2s;display:block}.word-entry{display:flex}.word-entry input{border-right:0}.word-entry button{border:2px solid var(--ink);background:var(--yellow);cursor:pointer;flex:none;width:58px;font-size:28px}.word-entry button:disabled{opacity:.45}.word-list{margin:16px 0 24px;display:grid}.word-list>div{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;min-height:44px;display:grid}.word-list span{color:var(--muted);font-size:12px}.word-list button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:22px}.submitted,.empty-state{text-align:center;padding:50px 30px}.big-check{color:#16764a;background:#ccebdc;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 20px;font-size:34px;display:grid}.submitted p,.empty-state p{max-width:440px;margin:8px auto 25px}.empty-state>span{color:var(--red);font-size:40px}.roster{box-shadow:4px 4px 0 var(--ink)}.panel-title{border-bottom:1px solid var(--line);padding-bottom:14px}.panel-title span{color:var(--red);font-size:12px;font-weight:800}.player-row{border-bottom:1px solid var(--line);grid-template-columns:36px 1fr auto 24px;align-items:center;gap:10px;min-height:58px;display:grid}.player-row:last-child{border:0}.avatar{background:var(--yellow);border-radius:50%;place-items:center;width:32px;height:32px;font-family:Archivo Black;display:grid}.player-row small{color:var(--muted)}.player-row i{color:var(--muted);font-style:normal}.player-row i.ready{color:#168254}.host-box{background:var(--yellow);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:22px}.host-box>span{letter-spacing:.16em;font-size:11px;font-weight:900}.host-box p{margin:9px 0 18px;font-size:14px}.host-console{gap:22px;display:grid}.host-settings{gap:16px;display:grid}.host-settings label{gap:6px}.host-settings input,.host-settings select{min-height:46px}.host-settings .seconds-input{width:100%}.host-settings .seconds-input input{min-height:42px}.host-word-setting{gap:10px;padding-top:4px;display:grid}.host-word-setting>div:first-child{gap:3px;display:grid}.host-word-setting small{color:#5f531c;font-size:11px}.host-word-setting .stepper{background:#fff;width:max-content}.stepper button:disabled{cursor:not-allowed;opacity:.4}.team-builder{gap:16px;display:grid}.team-builder>.panel-title{margin-bottom:0}.team-builder>p{font-size:13px;line-height:1.45}.team-count-setting{justify-content:space-between;align-items:center;gap:14px;padding:4px 0;display:flex}.team-count-setting>div:first-child{gap:3px;display:grid}.team-count-setting small,.manual-composition small{color:var(--muted);font-size:11px}.team-count-setting .stepper{flex:none}.team-warning{border-left:4px solid var(--yellow);color:#65551e;background:#fff1c5;padding:10px 12px;font-weight:700}.team-editors{gap:12px;display:grid}.team-editor{border-left:8px solid var(--team);background:var(--paper);gap:10px;padding:14px;display:grid}.team-editor input{min-height:44px}.team-editor p{align-items:center;gap:8px;min-height:20px;font-size:12px;line-height:1.35;display:flex}.team-editor .team-dot{flex:none}.manual-composition{border-top:1px solid var(--line);gap:10px;padding-top:16px;display:grid}.manual-composition>div:first-child{gap:3px;margin-bottom:2px;display:grid}.assignment-row{grid-template-columns:34px minmax(0,1fr) minmax(120px,42%);align-items:center;gap:9px;font-size:13px;display:grid}.assignment-row select{min-height:42px;padding:0 10px}.starting-team{border-top:1px solid var(--line);padding-top:14px}.starting-team select{min-height:46px}.launch-divider{background:var(--line);height:1px;margin:4px 0}.team-preview{gap:12px;display:grid}.team-preview>.kicker{margin:0 0 2px}.live-timer-setting{border:2px solid var(--ink);background:var(--yellow);width:min(620px,100%);box-shadow:4px 4px 0 var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;margin:18px 0 0 auto;padding:14px 16px;display:grid}.live-timer-setting>div:first-child{gap:3px;display:grid}.live-timer-setting small{color:#5f531c;font-size:11px}.live-timer-actions{align-items:center;gap:9px;display:flex}.live-timer-actions .seconds-input{width:120px}.live-timer-setting>.error{grid-column:1/-1}.round-banner{border-bottom:1px solid var(--line);text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:20px 0;display:grid}.round-banner span,.round-banner small{color:var(--muted);font-size:12px;font-weight:800}.round-banner b{color:var(--red);font-family:Archivo Black;font-size:25px}.round-banner small{text-align:right}.active-play,.waiting-turn,.between-turns{text-align:center;padding:42px 0}.timer{border:9px solid var(--ink);background:var(--yellow);width:126px;height:126px;box-shadow:5px 5px 0 var(--ink);border-radius:50%;align-content:center;margin:0 auto 24px;display:grid}.timer span{font-family:Archivo Black;font-size:50px;line-height:.9}.timer small{text-transform:uppercase;font-size:10px;font-weight:800}.timer.urgent{background:var(--red);color:#fff;animation:.5s infinite alternate tick}@keyframes tick{to{transform:scale(1.04)}}.turn-label{letter-spacing:.14em;font-size:12px;font-weight:900}.word-card{border:3px solid var(--ink);width:min(720px,100%);min-height:270px;box-shadow:10px 10px 0 var(--ink);background:#fffefa;align-content:center;place-items:center;gap:18px;margin:16px auto 25px;padding:32px;display:grid}.word-card>span{text-transform:uppercase;letter-spacing:.16em;color:var(--red);font-size:11px;font-weight:900}.word-card h1{text-transform:uppercase;overflow-wrap:anywhere;margin:0;font-family:Archivo Black;font-size:clamp(38px,8vw,76px);line-height:1}.word-card small{color:var(--muted)}.play-actions{grid-template-columns:1fr 1.6fr;gap:16px;width:min(720px,100%);margin:auto;display:grid}.play-actions button{border:3px solid var(--ink);min-height:82px;box-shadow:5px 5px 0 var(--ink);cursor:pointer;font-size:18px;font-weight:900}.play-actions button span{margin-right:10px;font-size:26px}.btn-pass{background:#fff}.btn-point{color:#fff;background:#2caa70}.waiting-turn .panel{width:min(560px,100%);margin:auto;padding:48px}.waiting-turn h1,.between-turns h1,.finish-wrap h1{text-transform:uppercase;letter-spacing:-.05em;margin:8px 0;font-family:Archivo Black;font-size:clamp(46px,9vw,82px)}.waiting-turn p{color:var(--muted)}.pulse-line{text-transform:uppercase;justify-content:center;align-items:center;gap:10px;margin-top:26px;font-size:12px;font-weight:800;display:flex}.pulse-line i{background:var(--red);border-radius:50%;width:10px;height:10px;animation:1s infinite pulse}@keyframes pulse{50%{opacity:.25}}.next-badge{background:var(--yellow);border:2px solid var(--ink);letter-spacing:.15em;padding:7px 12px;font-size:11px;font-weight:900;display:inline-block}.between-turns>p{color:var(--muted)}.waiting-chip{color:var(--muted);background:#e5dfd4;margin:28px auto;padding:14px 20px;font-weight:700;display:inline-block}.teams-grid{grid-template-columns:1fr 1fr;gap:20px;width:min(760px,100%);margin:38px auto 0;display:grid}.team-card{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);text-align:left;background:#fff;padding:20px}.team-card>div{grid-template-columns:18px 1fr auto;align-items:center;gap:8px;display:grid}.team-dot{background:var(--team);border-radius:50%;width:12px;height:12px}.team-card strong{font-family:Archivo Black;font-size:30px}.team-card p{color:var(--muted);margin:8px 0 0;font-size:13px}.review-wrap,.finish-wrap{width:min(760px,100%);margin:auto;padding:65px 0}.review-wrap>h1{font-size:clamp(50px,8vw,82px)}.review-help{color:var(--muted);max-width:520px;line-height:1.5}.review-list{gap:10px;margin:30px 0;display:grid}.review-item{text-align:left;border:2px solid var(--ink);cursor:pointer;min-height:68px;box-shadow:3px 3px 0 var(--ink);background:#fff;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:10px 18px;display:grid}.review-item>span{background:#ddd;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.review-item.point>span{color:#107247;background:#bfe8d4}.review-item.no-point{opacity:.72}.review-item small{color:var(--muted)}.finish-wrap{text-align:center}.finish-mark{border:3px solid var(--ink);background:var(--yellow);width:78px;height:78px;box-shadow:5px 5px 0 var(--ink);place-items:center;margin:0 auto 20px;font-size:36px;display:grid;transform:rotate(-6deg)}.finish-wrap>p{color:var(--muted)}.final-scores{gap:12px;margin:40px 0;display:grid}.final-scores>div{border:2px solid var(--ink);text-align:left;background:#fff;grid-template-columns:44px 1fr auto auto;align-items:center;gap:12px;padding:20px;display:grid}.final-scores .winner{background:var(--yellow);box-shadow:5px 5px 0 var(--ink)}.final-scores span{font-family:Archivo Black;font-size:22px}.final-scores strong{font-family:Archivo Black;font-size:34px}.final-scores small{color:var(--muted)}.connection{color:#176844;opacity:.7;background:#d9efe4;border-radius:20px;padding:6px 10px;font-size:10px;font-weight:800;position:fixed;bottom:12px;right:12px}.connection.lost{color:#785d35;background:#eee2d0}.loading{min-height:65vh;color:var(--muted);place-content:center;justify-items:center;gap:18px;display:grid}.loading span{border:5px solid var(--line);border-top-color:var(--red);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=800px){.shell{width:min(100% - 24px,600px);padding-top:20px}.hero{min-height:390px;padding:68px 0 30px}.hero h1{font-size:clamp(56px,18vw,86px)}.hero-copy{width:90%;font-size:16px}.burst-one{opacity:.9;width:180px;height:180px;top:80px;right:-42px}.burst-two{border-width:14px;width:70px;height:70px;bottom:28px;right:22%}.join-card{grid-template-columns:48px 1fr;gap:14px;padding:14px}.step-number{min-width:48px}.code-form{grid-column:1/-1}.create-link{flex-direction:column;align-items:center;gap:4px}.round-strip div{gap:4px;padding:16px 10px;font-size:12px;display:grid}.page-title{padding:65px 0 28px}.setting{flex-direction:column;align-items:flex-start}.setting select,.setting .seconds-input{width:100%}.game-page{width:calc(100% - 24px);padding-top:16px}.lobby-meta>span:nth-of-type(2){display:none}.game-grid{grid-template-columns:1fr;gap:28px;padding-top:40px}.side-column{padding-top:0}.round-banner{grid-template-columns:1fr auto}.round-banner b{order:3;grid-column:1/-1;font-size:30px}.round-banner small{text-align:right}.active-play{padding-top:24px}.timer{border-width:7px;width:100px;height:100px}.timer span{font-size:40px}.word-card{min-height:240px;box-shadow:6px 6px 0 var(--ink);padding:24px 16px}.word-card h1{font-size:clamp(38px,12vw,60px)}.play-actions{gap:10px}.play-actions button{min-height:76px;font-size:16px}.teams-grid{grid-template-columns:1fr}.review-wrap,.finish-wrap{padding:44px 0}.review-item{grid-template-columns:38px 1fr}.review-item small{grid-column:2}.live-timer-setting{grid-template-columns:1fr;margin-top:14px}.live-timer-actions{width:100%}.live-timer-actions .seconds-input{flex:1}}@media (width<=430px){.eyebrow{display:none}.code-row{display:grid}.code-row .btn{min-height:54px}.panel{padding:20px}.player-row{grid-template-columns:34px 1fr 22px}.player-row small{grid-column:2;margin-top:-11px}.team-count-setting{flex-direction:column;align-items:flex-start}.assignment-row{grid-template-columns:34px 1fr}.assignment-row select{grid-column:1/-1}.play-actions{grid-template-columns:1fr 1.35fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
