@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#193d30;--cream:#f5f2e9;--red:#e64c36;--blue:#507dac;--muted:#7c8275}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e49d34;outline-offset:4px}button{border:0}main{max-width:1440px;margin:auto;padding:0 60px}header{height:112px;border-bottom:1px solid #d7dacd;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:900 29px/.83 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.7px}.pizza{font-size:44px;transform:rotate(-15deg)}.brand-dot{font:11px sans-serif;vertical-align:top;margin-left:4px}.edition{font-size:10px;letter-spacing:1.9px;line-height:1.8;text-align:center}.edition span{color:#969a8b;font-size:9px}.header-actions{display:flex;gap:13px;align-items:center}.icon{background:none;font-size:24px;color:var(--ink)}.outline{border:1px solid #bdc6b7;border-radius:5px;padding:11px 17px;background:transparent;font-size:12px}.intro{display:flex;align-items:center;justify-content:space-between;padding:37px 0 32px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;gap:8px;align-items:center}.eyebrow span{width:6px;height:6px;border-radius:50%;background:var(--red)}h1{font:800 clamp(40px,4.9vw,68px)/1.1 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1.2px;margin:12px 0 11px}h1 em{color:var(--red);font-style:normal}p{font-size:13px;color:#777e6f;line-height:1.7;margin:0}.stamp{border:1.5px solid #a8b19b;border-radius:50%;width:97px;height:97px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(12deg);color:#6c7d5c;font:600 17px/1.05 'Barlow Condensed',sans-serif}.stamp b{font-size:13px}.stamp span{font-size:12px;margin-top:5px;letter-spacing:4px}.game{border:1px solid #c3ccba;border-radius:9px;overflow:hidden;box-shadow:0 12px 28px #193d3008}.game-top{height:63px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#fdfcf6}.modes{display:flex;gap:4px;background:#eeefe6;padding:4px;border-radius:5px}.modes button{font-size:11px;color:#7e8678;padding:9px 14px;background:transparent;border-radius:3px}.modes .active{background:var(--ink);color:#fff}.wind{font:700 15px 'Barlow Condensed',sans-serif;display:flex;align-items:center;gap:10px}.wind small{font:9px 'DM Sans',sans-serif;color:#8a927e;letter-spacing:1.4px}.restart{background:transparent;color:var(--ink);font-size:18px}.restart span{font-size:11px;margin-left:5px}.arena{position:relative;background:#edf0dc;aspect-ratio:1200/550;overflow:hidden;touch-action:none}canvas{width:100%;height:100%;display:block}.team{position:absolute;top:25px;display:flex;flex-direction:column;gap:5px;width:176px;pointer-events:none}.team.red{left:27px;color:#ba4938}.team.blue{right:27px;text-align:right;color:#47749a}.team>span{font-size:9px;letter-spacing:1.8px}.team b{font:700 21px 'Barlow Condensed',sans-serif}.team>div{height:4px;width:105px;background:#d8d9c5;border-radius:4px}.blue>div{align-self:flex-end}.team i{display:block;height:100%;background:currentColor;transition:width .4s}.turn{position:absolute;top:27px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:6px}.turn span{font:700 10px 'DM Sans',sans-serif;letter-spacing:1.3px;padding:8px 13px;border:1px solid #c6cdb5;border-radius:30px;background:#f8f8e999}.turn b{font-size:9px;letter-spacing:2px;color:#8d977d}.arena-bottom{position:absolute;bottom:16px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.2px;color:#586a45}.arena-bottom span:nth-child(2){font-size:10px;letter-spacing:0;color:#344c31}#toast{position:absolute;left:50%;top:110px;transform:translateX(-50%);background:#173d30;color:#fff;padding:10px 19px;border-radius:5px;font-size:13px;opacity:0;transition:opacity .2s;pointer-events:none}#toast.show{opacity:1}.controls{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.15fr;gap:32px;padding:24px;background:#fdfcf6}.controls label{display:flex;gap:9px;font:600 10px 'DM Sans',sans-serif;letter-spacing:1px;color:#9aa18f;align-items:center}.controls label span{color:var(--ink)}output{margin-left:auto;font:700 21px 'Barlow Condensed',sans-serif;letter-spacing:0;color:var(--ink)}.cannons{display:flex;gap:8px;margin-top:13px}.cannons button{background:#f3f3e9;border:1px solid #dce0d1;color:var(--ink);border-radius:5px;flex:1;padding:7px 3px;font:700 16px 'Barlow Condensed',sans-serif}.cannons button.selected{border-color:var(--ink);background:#e3e9da;box-shadow:inset 0 0 0 1px var(--ink)}.cannons button small{display:block;font:8px 'DM Sans',sans-serif;margin-top:4px;color:#6e7d60}.cannons button.super{color:var(--red)}input[type=range]{appearance:none;width:100%;height:4px;margin:19px 0 12px;background:#dce1d1;border-radius:4px;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:15px;height:15px;border-radius:50%;background:var(--ink);border:3px solid #fff;box-shadow:0 0 0 1px var(--ink)}.range-labels{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#929b84}.fire{background:var(--red);color:#fff;border-radius:6px;font:800 25px 'Barlow Condensed',sans-serif;text-align:left;padding:14px 20px;box-shadow:0 4px 0 #b83c2c;transition:transform .1s,background .1s}.fire:hover{background:#cf3f2b;transform:translateY(-1px)}.fire span{float:right}.fire small{display:block;font:7px 'DM Sans',sans-serif;letter-spacing:1.4px;margin-top:7px}.fire:disabled{background:#a5ac98;box-shadow:0 4px 0 #8b947e;cursor:wait;transform:none}.game-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e4e6d9;background:#f8f8ef;padding:13px 24px;font-size:9px;color:#8a937d}.game-footer b{font-weight:400;color:#526746}.game-footer i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#80955c;margin-right:5px}footer{display:flex;justify-content:space-between;padding:24px 0;font-size:9px;color:#939b85;letter-spacing:1px}footer>span:last-child{letter-spacing:0}.tiny-pizza{font-size:16px;margin-left:5px}dialog{border:1px solid #c0cab7;border-radius:12px;max-width:490px;width:calc(100% - 32px);background:var(--cream);color:var(--ink);padding:34px;box-shadow:0 20px 100px #10251b55}dialog::backdrop{background:#112b216e;backdrop-filter:blur(5px)}dialog h2{font:800 40px 'Barlow Condensed',sans-serif;margin:15px 0}dialog p{margin:15px 0}dialog ol{padding-left:20px;font-size:13px;line-height:1.8;color:#52644a}dialog small{display:block;font-size:10px;color:#7e8972;line-height:1.6}dialog .close{position:absolute;top:12px;right:13px;background:none;font-size:24px;color:var(--ink)}.dialog-primary{width:100%;padding:13px;background:var(--ink);border-radius:5px;color:white;margin:15px 0;font-weight:600}.music-upload{font-size:12px;display:block;line-height:1.8}.music-upload input{display:block;font-size:11px;margin:10px 0}#room-code{font:bold 30px monospace;letter-spacing:5px;text-align:center;user-select:all;margin-bottom:15px}.join{display:flex;margin-top:10px;gap:8px}.join input{min-width:0;width:100%;padding:12px;border:1px solid #b2bfa4;border-radius:5px;background:white}.join button{background:var(--red);color:white;border-radius:5px;padding:10px}#online label{font-size:9px;letter-spacing:1px}.victory{position:absolute;inset:0;background:#173d30de;backdrop-filter:blur(4px);color:#fff9df;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.victory[hidden]{display:none}.victory .crown{font-size:50px;color:#facb61}.victory p{color:#d3d9b7;font-size:10px;letter-spacing:3px}.victory h2{font:900 clamp(35px,6vw,75px) 'Barlow Condensed',sans-serif;margin:6px}.victory b{font-size:13px}.victory button{background:#f8ce67;color:var(--ink);padding:12px 25px;border-radius:4px;font-weight:700}.dancer{font-size:35px;margin:10px;animation:dance .5s infinite alternate}.dancer span{display:inline-block;font:900 33px 'Barlow Condensed',sans-serif;color:#f8ce67}@keyframes dance{from{transform:rotate(-13deg) translateX(-15px)}to{transform:rotate(13deg) translateX(15px)}}@media(max-width:850px){main{padding:0 20px}header{height:85px}.edition{display:none}.intro{padding:25px 0}.stamp{width:75px;height:75px;font-size:14px}.controls{gap:18px;grid-template-columns:1fr 1fr}.fire{font-size:25px}.arena{aspect-ratio:1.65}.team{width:135px;top:18px}.team b{font-size:17px}.team.red{left:15px}.team.blue{right:15px}.turn{top:75px}.arena-bottom span:first-child,.arena-bottom span:last-child{display:none}.game-top{padding:0 12px}.modes button{padding:9px}.restart span{display:none}.wind{font-size:12px}.wind small{display:none}.game-footer{font-size:8px;padding:12px}footer{font-size:8px;gap:15px}.intro p{font-size:11px;max-width:270px}.eyebrow{font-size:8px}.arena-bottom{justify-content:center}h1{font-size:46px}.header-actions{gap:8px}}@media(prefers-reduced-motion:reduce){.dancer{animation:none}*{scroll-behavior:auto!important}}

.credits{font-size:10px}.credits a{color:var(--ink)}
