@import "https://fonts.googleapis.com/css2?family=Nunito:wght@500;600;700;800;900;1000&display=swap";:root{color:#09143f;font-synthesis:none;--navy:#09143f;--orange:#ff7000;--blue:#00a9e2;--muted:#617997;background:#fffdf6;font-family:Nunito,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #00a9e2}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:1000;line-height:1.12}p{line-height:1.5}.site-header{justify-content:space-between;align-items:center;gap:20px;max-width:1440px;margin:auto;padding:25px 36px;display:flex}.wordmark{letter-spacing:-2px;color:#ffb900;text-shadow:2px 2px 0 #b81725,-2px -2px 0 var(--navy),3px 3px 0 var(--navy);white-space:nowrap;font-size:clamp(24px,3vw,40px);font-weight:1000;text-decoration:none;transform:rotate(-3deg)}.wordmark span{color:#ff7600}.site-header nav{align-items:center;gap:24px;display:flex}.nav-play{background:var(--orange);border:3px solid var(--navy);border-radius:18px;padding:9px 35px;font-size:21px;font-weight:1000;box-shadow:0 3px #d1dae1}.nav-help{background:0 0;border:0;align-items:center;gap:6px;font-size:19px;font-weight:1000;display:flex}main{max-width:1440px;margin:auto;padding:0 36px}.messages:empty{display:none}.messages p{border-radius:12px;margin-bottom:18px;padding:14px 18px;font-weight:800}.error{background:#fff0ee;border:2px solid #c53d3d}.notice{background:#e2f6ee;border:2px solid #368774}.hero-grid{grid-template-columns:1.14fr .86fr;align-items:stretch;gap:20px;display:grid}.hero-art{border:3px solid var(--navy);background:#ffbf00;border-radius:20px;min-width:0;position:relative;overflow:hidden}.hero-art img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.hero-copy{border-top:3px solid var(--navy);background:#ffca05;padding:19px 24px 22px}.hero-copy h1{letter-spacing:-1.5px;font-size:clamp(29px,3vw,43px)}.hero-copy p{margin-top:7px;font-size:18px;font-weight:800}.panel{border:3px solid var(--navy);background:#fff;border-radius:20px}.setup{flex-direction:column;gap:23px;padding:30px;scroll-margin-top:15px;display:flex}.setup h2{letter-spacing:-1.2px;font-size:clamp(26px,3vw,42px)}.mode-tabs{background:#eef3f6;border:2px solid #d7e2ea;border-radius:18px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.mode-tabs button{background:0 0;border:0;border-right:1px solid #cbd9e5;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-width:0;padding:18px 5px;font-size:16px;font-weight:1000;display:flex}.mode-tabs button:last-child{border-right:0}.mode-tabs .selected{background:var(--orange);box-shadow:inset 0 0 0 2px var(--navy);color:var(--navy);border-radius:15px}.settings{gap:24px;display:grid}label{flex-direction:column;gap:9px;font-size:19px;font-weight:1000;display:flex}input,select{width:100%;color:var(--navy);background:#fafbfc;border:2px solid #506888;border-radius:12px;min-width:0;padding:13px 15px;font-size:18px;font-weight:800}.muted{color:var(--muted);font-size:16px;font-weight:700}.setup>.muted{margin-top:-15px}.mode-note{color:#4b607e;font-size:16px;font-weight:700}.primary{border:3px solid var(--navy);background:var(--orange);border-radius:17px;justify-content:center;align-items:center;gap:14px;width:100%;padding:17px 15px;font-size:24px;font-weight:1000;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 5px #d8e1e7}.primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 7px #d8e1e7}.primary:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px #d8e1e7}.start{margin-top:auto;font-size:30px}.secondary{border:2px solid var(--navy);background:#f1f5f8;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:16px;font-weight:900;display:flex}.player-names{grid-template-columns:1fr 1fr;gap:12px;display:grid}.player-names label{font-size:15px}.player-names input{font-size:16px}.join-form{border-top:1px solid #dbe3ea;grid-template-columns:1fr auto;align-items:end;gap:12px;padding-top:18px;display:grid}.join-form label{font-size:15px}.join-form input{text-transform:uppercase;letter-spacing:3px}.connected{color:#357864;font-size:13px}.rules-strip{border:3px solid var(--navy);border-radius:18px;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;padding:20px 25px;display:grid}.rules-strip>div{justify-content:center;align-items:center;gap:16px;display:flex}.rules-strip>div+div{border-left:1px solid #9dacc0}.rules-strip p{font-size:18px}.rules-strip strong{font-size:22px;font-weight:1000}.rule-symbol{border:2px solid var(--navy);border-radius:12px;flex:none;place-items:center;width:39px;height:39px;font-size:24px;font-weight:1000;display:grid}.bull-dot{background:#16b58f}.cow-dot{background:#ffbc31}footer{text-align:center;color:#617997;padding:26px 0;font-size:15px}footer span{display:block}footer small{margin-top:7px;display:block}.game-shell{padding-top:12px}.game-heading{justify-content:space-between;align-items:center;gap:20px;margin:10px 0 25px;display:flex}.game-heading h1{letter-spacing:-1.3px;margin-top:8px;font-size:clamp(28px,4vw,44px)}.game-grid{grid-template-columns:1fr .8fr;gap:24px;max-width:1100px;margin:auto;display:grid}.board,.history{min-width:0;padding:28px}.board-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;display:flex}.board-header h2{font-size:25px}.round{color:var(--muted);font-size:14px;font-weight:800}.code-slots{justify-content:center;gap:10px;margin:20px 0 27px;display:flex}.code-slots>span{border:3px solid var(--navy);background:#f0f4f8;border-radius:13px;flex:0 62px;place-items:center;width:62px;min-width:0;height:76px;font-size:38px;font-weight:1000;display:grid}.code-slots .filled{box-shadow:0 4px 0 var(--navy);background:#ffce4e}.code-slots.revealed>span{background:#66d7b7}.guess-label{font-size:15px}.guess-input{letter-spacing:6px;text-align:center;font-size:20px}.keypad{grid-template-columns:repeat(6,1fr);gap:8px;margin:17px 0 23px;display:grid}.keypad button{border:2px solid var(--navy);background:#fffdf6;border-radius:10px;place-items:center;padding:12px 0;font-size:20px;font-weight:1000;display:grid}.keypad button:hover:not(:disabled){background:#ffcc39}.keypad .used{background:#dae2eb}.boosts{border-top:1px solid #d4dee8;gap:10px;margin-top:25px;padding-top:23px;display:flex}.boosts button{flex-wrap:wrap;flex:1;padding:11px 8px;font-size:15px}.boosts small{color:#596d89;font-size:13px}.clue-key{color:#526b8d;border-bottom:1px solid #d9e1ea;gap:20px;padding-bottom:16px;font-size:13px;font-weight:800;display:flex}.clue-key span{align-items:center;gap:6px;display:flex}.clue-key b{border-radius:50%;width:10px;height:10px}.history-list{max-height:520px;overflow-y:auto}.history-row{border-bottom:1px solid #e1e6ee;justify-content:space-between;align-items:center;gap:10px;padding:18px 0;display:flex}.history-row>div>small{color:var(--muted);font-size:12px;display:block}.history-code{letter-spacing:5px;font-family:monospace;font-size:24px}.counts{gap:10px;display:flex}.counts>span{text-align:center;border-radius:9px;padding:6px 11px;font-size:20px;font-weight:1000}.counts small{font-size:10px;display:block}.bull-count{background:#d9f6e9}.cow-count{background:#fff1c3}.empty-history{text-align:center;padding:55px 0}.empty-history>span{background:#eef4f8;border:2px dashed #8097b3;border-radius:20px;place-items:center;width:70px;height:70px;margin:0 auto 25px;font-size:45px;font-weight:1000;display:grid}.empty-history h3{margin-bottom:10px;font-size:21px}.empty-history p{color:var(--muted);font-size:15px}.room-banner{border:2px solid var(--navy);background:#e2f4fb;border-radius:13px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;padding:15px 20px;font-size:15px;display:flex}.room-banner strong{letter-spacing:3px;font-size:20px}.text-button{background:0 0;border:0;align-items:center;gap:7px;font-weight:900;display:flex}.win-message{text-align:center;padding:0 0 24px}.win-message svg{color:#e99900;margin-bottom:12px}.win-message h2{margin-bottom:9px}.hints{color:#176c57;padding-top:17px;font-weight:800}.hints p{align-items:center;gap:8px;margin:6px 0;display:flex}.modal-backdrop{backdrop-filter:blur(5px);z-index:10;background:#09143fbb;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{flex-direction:column;gap:22px;width:min(100%,510px);max-height:90dvh;padding:35px;display:flex;position:relative;overflow-y:auto}.modal h2{font-size:30px}.modal p{font-size:16px}.close{background:0 0;border:0;position:absolute;top:12px;right:12px}.example{background:#fff1c3;border-radius:12px;padding:15px}.paused{text-align:center;background:#e2f4fb;margin-bottom:18px;padding:12px;font-weight:800}@media (width>=1200px){.hero-art img{aspect-ratio:1.12;object-fit:cover;object-position:center}.setup{gap:27px}.settings{gap:28px}.setup h2{font-size:38px}}@media (width<=850px){main{padding:0 20px}.site-header{padding:23px 20px}.site-header nav{gap:12px}.nav-play{padding:7px 20px;font-size:18px}.nav-help{font-size:16px}.hero-grid{grid-template-columns:1fr 1fr;gap:15px}.setup{gap:19px;padding:20px}.setup h2{font-size:28px}.hero-art img{aspect-ratio:auto;object-fit:cover;height:calc(100% - 140px)}.hero-copy{min-height:140px;padding:20px}.hero-copy h1{font-size:32px}.hero-copy p{font-size:16px}.mode-tabs button{padding:14px 3px;font-size:12px}.mode-tabs svg{width:23px}.rules-strip{padding:16px}.rules-strip p{font-size:15px}.rules-strip strong{font-size:18px}.rule-symbol{display:none}.game-grid{grid-template-columns:1fr 1fr;gap:16px}.board,.history{padding:19px}.boosts{flex-direction:column}.leader-button{font-size:0}.leader-button svg{width:23px}.settings label{font-size:17px}}@media (width<=600px){main{padding:0 15px}.site-header{padding:20px 15px}.wordmark{letter-spacing:-1.5px;font-size:28px}.site-header nav{gap:8px}.nav-play{border-radius:12px;padding:7px 16px;font-size:15px}.nav-help{font-size:13px}.hero-grid{grid-template-columns:1fr}.hero-art{border-radius:15px;grid-template-columns:110px 1fr;display:grid}.hero-art img{object-fit:cover;width:110px;height:100%}.hero-copy{border-top:0;border-left:2px solid var(--navy);min-height:0;padding:17px}.hero-copy h1{font-size:26px}.hero-copy p{font-size:13px}.setup{border-radius:16px;gap:22px;padding:23px 20px}.setup h2{font-size:29px}.mode-tabs button{padding:17px 3px;font-size:13px}.settings{grid-template-columns:1.4fr 1fr;gap:12px}.settings label{font-size:15px}.settings select{padding:12px 7px;font-size:14px}.setup>.muted,.mode-note{font-size:14px}.start{font-size:26px}.rules-strip{grid-template-columns:1fr;gap:12px;margin-top:18px;padding:16px}.rules-strip>div{justify-content:flex-start}.rules-strip>div+div{border-top:1px solid #ced8e3;border-left:0;padding-top:12px}.rules-strip p{font-size:14px}.rules-strip strong{font-size:17px}.rule-symbol{border-radius:8px;width:28px;height:28px;font-size:17px;display:grid}.game-grid{grid-template-columns:1fr}.game-heading{align-items:flex-start}.game-heading h1{font-size:29px}.game-heading .secondary{white-space:nowrap;padding:9px;font-size:12px}.game-heading .muted{font-size:12px}.board,.history{padding:22px}.board-header h2{font-size:23px}.boosts{flex-direction:row}.code-slots{gap:7px}.code-slots>span{border-radius:10px;height:66px;font-size:31px}.room-banner{flex-wrap:wrap;padding:13px;font-size:13px}.room-banner>span:last-child{width:100%}.history-list{max-height:370px}.modal{padding:30px 23px}.modal h2{font-size:27px}footer{padding:22px 0;font-size:13px}.messages p{font-size:14px}.connected{font-size:12px}.empty-history{padding:27px 0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media (width>=1200px){main,.site-header{max-width:1240px}.hero-art img{aspect-ratio:1;object-fit:contain}.setup{gap:23px}}.wordmark{flex-shrink:0;width:360px;height:72px;display:block;transform:none}.wordmark img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=850px){.wordmark{width:230px;height:48px}}@media (width<=600px){.wordmark{width:163px;height:38px}.site-header{gap:6px}}.room-banner strong{-webkit-user-select:all;user-select:all}@media (width<=420px){.site-header{flex-wrap:wrap;justify-content:center;row-gap:8px;padding-top:12px;padding-bottom:12px}.wordmark{width:200px;height:46px}.site-header nav{justify-content:center;gap:18px;width:100%}}
