/* Mr Walker's teal, yellow and black brand. The supplied logo is used intact. */
:root{--paper:#f7fbf8;--gold:#ffe343;--ink:#17383b;--teal:#007b83;--muted:#587477}
body{background-color:var(--paper);background-image:radial-gradient(#008b9015 1px,transparent 1px);background-size:20px 20px}
.app-header{padding-block:13px;background:#007f89;color:#fff;border-bottom:3px solid #153f43;border-radius:0 0 23px 23px;box-shadow:0 4px 0 #ffe343;position:relative;z-index:1}
.brand{gap:13px}.brand-logo{width:68px;height:68px;border:3px solid var(--gold);border-radius:17px;object-fit:cover;transform:rotate(-4deg);box-shadow:3px 3px 0 #12464b;flex-shrink:0}
.brand-type{line-height:1.05}.brand-type .brand-byline{font-size:11px;letter-spacing:2.1px;color:var(--gold);margin-bottom:3px}.brand-type .brand-series{font-size:12px;letter-spacing:2.3px;margin-bottom:1px}.brand-type>strong{font-size:31px;letter-spacing:-1px;color:#fff;text-shadow:1px 2px 0 #00515a}.brand-dot{color:var(--gold)}
.header-note{color:#e0f8ee;font-size:12px;line-height:1.6}.little-dot{background:var(--gold);width:8px;height:8px;box-shadow:0 0 0 4px #ffffff10}
.utility-button{border-color:#ffffff55;background:#ffffff08;color:#fff}.utility-button:hover{background:#ffffff20;border-color:var(--gold)}.utility-button:focus-visible,.brand:focus-visible{outline-color:var(--gold)}
.app-main{background:var(--paper);padding-top:24px}.intro{margin-bottom:20px;gap:24px}.intro .eyebrow{color:#087780;font-size:10px;letter-spacing:1.4px}.intro h1{font-size:clamp(31px,3vw,44px);color:#113d42;letter-spacing:-1.6px}.intro h1>span:after{height:12px;bottom:1px}.title-spark{stroke:#007f89;fill:#ffe343;stroke-width:1.5}.intro-subtitle{font-size:12px;color:#57777a;margin:10px 0 0;line-height:1.4}
.mode-picker{flex:0 0 auto;min-width:390px}.mode-picker h2{font-size:12px;margin:0 0 8px;color:#244c4f}.mode-options{display:flex;gap:6px}.mode-choice{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:900;min-height:46px;padding:8px 15px;border:1.5px solid #b9d6ce;border-radius:10px;background:white;transition:transform .1s,background .1s;white-space:nowrap;flex:1}.mode-choice>span{font-size:23px;line-height:1}.mode-choice[data-mode=mixed]>span{font-size:17px;letter-spacing:-1px}.mode-choice[aria-pressed=true]{background:#007f89;color:#fff;border-color:#004e55;box-shadow:0 3px 0 #004e55}.mode-choice:hover{transform:translateY(-1px);border-color:#007f89}.mode-picker>p{font-size:10px;color:#57777a;margin:8px 0 0;line-height:1.3;min-height:13px}
.setup{background:#e8f3ed;border-color:#c8dfd3}.setup h2{color:#15545a}.table-choice{border-color:#bfd6c9}.table-choice[aria-pressed=true]{background:#007f89;border-color:#00545a;box-shadow:0 2px 0 #00474c}.all-tables[aria-pressed=true]{background:#d2ebdb}
.primary-button{border-width:2px;background:#ffe343;box-shadow:0 3px 0 #17383b}.primary-button:hover{background:#ffeb6a}.round-detail .eyebrow{color:#006c75}.round-detail p{color:#527174}.round-detail strong{color:#143e42}.timer{box-shadow:0 0 0 1px #e0d76b}.timer-inner{background:var(--paper)}
.player{border-width:2px;box-shadow:0 3px 0 #bedad0}.player-yellow{box-shadow:0 3px 0 #e0d183}.player-yellow .player-badge{background:#ffe343;color:#6b5300;border:1px solid #c9aa2b}.player-yellow .key-submit{background:#ffe343;color:#4c3c00;border-color:#a48721!important;box-shadow:0 3px 0 #8a6c10}.player-yellow .key-submit:hover:enabled{background:#ffed7b;color:#4c3c00}.player-yellow .player-label{color:#7a6000}.player-yellow .answer{border-color:#c5ad4e}.player-yellow .feedback{color:#786529}.player .feedback.success{color:#005c47}.player .feedback.error{color:#a53723}.player-yellow .feedback.success{color:#586000}.player-yellow .feedback.error{color:#a53723}
.keypad{grid-template-rows:repeat(4,clamp(44px,5.6vh,68px))}.versus{background:#ffe343;border:2px solid #17383b;box-shadow:0 2px 0 #17383b;color:#17383b;font-style:italic}.player-name{border-bottom-color:#77b8b0}.player-yellow .player-name{border-bottom-color:#bca64d}.footer-mark{color:#007f89}.app-footer{color:#557376}
.countdown-card{background:#ffe343;border:3px solid #17383b}.countdown-card>strong{text-shadow:5px 4px 0 #7fd2c7}.game-dialog{border-width:2px}.game-dialog .eyebrow{color:#00737c}.yellow-result{background:#fff0a6;color:#5b4700}.teal-result{background:#d8f3ed;color:#00525a}
body.is-round .app-header{padding-block:10px}body.is-round .brand-logo{width:48px;height:48px;border-radius:12px}body.is-round .brand-type .brand-byline{font-size:8px;margin-bottom:2px}body.is-round .brand-type .brand-series{font-size:9px}body.is-round .brand-type>strong{font-size:24px}body.is-round .app-main{padding-top:0}body.is-round .keypad{grid-template-rows:repeat(4,minmax(36px,1fr))}
@supports(font-size:1cqw){.player{container-type:inline-size}.equation{font-size:clamp(27px,9cqw,58px)}body.is-round .equation{font-size:clamp(28px,11cqw,84px)}body.is-round .answer{min-width:clamp(65px,20cqw,135px)}}
@media(min-width:1700px){.app-header{padding-block:16px}.brand-logo{width:77px;height:77px}.brand-type .brand-byline{font-size:13px}.brand-type .brand-series{font-size:15px}.brand-type>strong{font-size:34px}.header-note{font-size:14px}.intro h1{font-size:51px}.intro-subtitle{font-size:14px}.mode-picker{min-width:480px}.mode-picker h2{font-size:14px}.mode-choice{font-size:14px;min-height:52px}.mode-picker>p{font-size:12px}.keypad{grid-template-rows:repeat(4,clamp(50px,6vh,76px))}body.is-round .brand-logo{width:57px;height:57px}body.is-round .brand-type>strong{font-size:28px}body.is-round .brand-type .brand-byline{font-size:10px}body.is-round .brand-type .brand-series{font-size:11px}}
@media(max-width:1050px){.intro h1{font-size:32px}.intro .eyebrow{font-size:8px}.mode-picker{min-width:360px}.mode-choice{padding-inline:10px;font-size:11px}.brand-type>strong{font-size:27px}.brand-logo{width:61px;height:61px}.game-note{display:none}}
@media(max-width:850px){.intro{align-items:stretch;flex-direction:column;gap:19px}.mode-picker{min-width:0}.mode-choice{font-size:13px;min-height:45px}.mode-picker>p{font-size:10px}.intro-copy{display:flex;flex-direction:column;align-items:flex-start}.intro-subtitle{margin-top:7px}.intro .eyebrow{font-size:9px}.intro h1{font-size:35px}.app-main{padding-top:23px}.brand-type>strong{font-size:25px}.brand-type .brand-byline{font-size:9px}.brand-type .brand-series{font-size:10px}.brand-logo{width:56px;height:56px}}
@media(max-width:760px){.app-header{border-radius:0 0 16px 16px;padding-block:12px}.brand{gap:10px}.intro{gap:17px;margin-bottom:18px}.mode-choice{font-size:12px;padding-inline:8px;gap:6px}.mode-choice>span{font-size:21px}.mode-choice[data-mode=mixed]>span{font-size:15px}.keypad{grid-template-rows:repeat(4,clamp(48px,6.5vh,65px))}body.is-round .app-header{padding-block:9px}body.is-round .brand-logo{width:43px;height:43px}body.is-round .brand-type>strong{font-size:21px}body.is-round .brand-type .brand-byline{font-size:7px}body.is-round .brand-type .brand-series{font-size:8px}.player-yellow .key-submit{box-shadow:0 2px 0 #8a6c10}}
@media(max-width:460px){.brand-logo{width:48px;height:48px;border-radius:12px}.brand-type>strong{font-size:22px}.brand-type .brand-byline{font-size:8px;letter-spacing:1.6px}.brand-type .brand-series{font-size:9px;letter-spacing:1.7px}.brand{gap:9px}.header-actions{gap:5px}.utility-button{min-width:34px;padding:7px}.intro h1{font-size:30px}.intro .eyebrow{font-size:8px}.intro-subtitle{font-size:11px}.mode-choice{font-size:10px;padding-inline:7px;gap:5px}.mode-picker h2{font-size:11px}.mode-picker>p{font-size:9px}.equation,body.is-round .equation{flex-wrap:wrap;font-size:29px;row-gap:7px}.factor{width:100%}.equals{display:none}.answer,body.is-round .answer{min-width:65px;min-height:44px;font-size:30px}.question-area,body.is-round .question-area{padding:12px 0}.key-submit{font-size:11px}body.is-round .brand-logo{width:39px;height:39px}body.is-round .brand-type>strong{font-size:19px}.feedback{font-size:7px}}
@media(max-height:820px) and (min-width:851px){.intro-subtitle{display:none}.intro h1{font-size:34px}.intro{margin-bottom:17px}.mode-choice{min-height:39px}.mode-picker>p{font-size:9px}.brand-logo{width:53px;height:53px}.brand-type>strong{font-size:25px}.brand-type .brand-byline{font-size:9px}.brand-type .brand-series{font-size:10px}.app-header{padding-block:11px}.keypad{grid-template-rows:repeat(4,clamp(42px,5.7vh,57px))}}

/* A larger masthead and only the controls needed for the round. */
.brand-logo{width:88px;height:88px;border-radius:20px}
.brand-type{margin:0;font-size:inherit;font-weight:900;line-height:1.05}
.brand-type .brand-byline{font-size:15px;letter-spacing:2.5px;margin-bottom:3px}
.brand-type .brand-series{font-size:20px;letter-spacing:3px;margin-bottom:1px}
.brand-type>strong{font-size:49px;letter-spacing:-1.5px}
.app-main{padding-top:18px;padding-bottom:24px}
.intro.settings-row{display:flex;flex-direction:row;align-items:center;padding:14px 20px;margin:0 0 10px;background:#e8f3ed;border:1px solid #c8dfd3;border-radius:16px}
.settings-row .mode-picker{display:flex;align-items:center;gap:20px;flex:1;min-width:0}
.settings-row .mode-picker h2{flex:0 0 80px;margin:0;font-size:13px;color:#15545a}
.settings-row .mode-options{flex:1;min-width:0}
.settings-row .mode-choice{font-size:14px;min-height:46px}
.setup{padding:14px 20px;gap:20px}
.setup-label{flex:0 0 80px}.setup-label h2{font-size:13px;margin:0}
.round-detail p{font-size:12px;font-weight:700;line-height:1.5}
body[data-phase=ready] .round-detail{visibility:hidden}
.countdown-card{padding:16px 60px}
.game-dialog h2{margin-bottom:20px}
body.is-round .brand-logo{width:67px;height:67px;border-radius:16px}
body.is-round .brand-type .brand-byline{font-size:11px;margin-bottom:3px}
body.is-round .brand-type .brand-series{font-size:16px}
body.is-round .brand-type>strong{font-size:39px}
body.is-round .app-main{padding-bottom:24px}
@media(min-width:1700px){
  .brand-logo{width:110px;height:110px}.brand-type .brand-byline{font-size:18px}.brand-type .brand-series{font-size:24px}.brand-type>strong{font-size:62px}
  .settings-row .mode-picker h2,.setup-label h2{font-size:15px}.settings-row .mode-choice{font-size:16px;min-height:53px}
  body.is-round .brand-logo{width:87px;height:87px}body.is-round .brand-type .brand-byline{font-size:14px}body.is-round .brand-type .brand-series{font-size:19px}body.is-round .brand-type>strong{font-size:50px}
}
@media(max-width:1050px){
  .brand-logo{width:80px;height:80px}.brand-type .brand-byline{font-size:13px}.brand-type .brand-series{font-size:17px}.brand-type>strong{font-size:43px}
  .settings-row .mode-picker h2,.setup-label{flex-basis:66px}.settings-row .mode-choice{font-size:13px}
  body.is-round .brand-logo{width:61px;height:61px}body.is-round .brand-type .brand-byline{font-size:10px}body.is-round .brand-type .brand-series{font-size:13px}body.is-round .brand-type>strong{font-size:34px}
}
@media(max-width:760px){
  .brand-logo{width:68px;height:68px}.brand-type .brand-byline{font-size:11px}.brand-type .brand-series{font-size:14px}.brand-type>strong{font-size:36px}
  .intro.settings-row{padding:12px 14px}.settings-row .mode-picker{gap:12px;flex-wrap:wrap}.settings-row .mode-picker h2{flex:0 0 100%;font-size:12px}.settings-row .mode-options{flex-basis:100%}.settings-row .mode-choice{font-size:12px}
  .setup{padding:14px}.setup-label{flex:1}.setup-label h2{font-size:12px}.round-detail p{font-size:10px}
  body.is-round .brand-logo{width:57px;height:57px}body.is-round .brand-type .brand-byline{font-size:9px}body.is-round .brand-type .brand-series{font-size:12px}body.is-round .brand-type>strong{font-size:31px}
}
@media(max-width:460px){
  .brand-logo{width:55px;height:55px;border-radius:14px}.brand-type .brand-byline{font-size:9px;letter-spacing:1.6px}.brand-type .brand-series{font-size:12px;letter-spacing:1.7px}.brand-type>strong{font-size:29px}
  .settings-row .mode-choice{font-size:10px;gap:5px}.round-detail p{font-size:8px}
  body.is-round .brand-logo{width:51px;height:51px}body.is-round .brand-type .brand-byline{font-size:8px}body.is-round .brand-type .brand-series{font-size:11px}body.is-round .brand-type>strong{font-size:28px}
}

/* One shared clock with one, two or three independent touch panels. */
.results-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}
.song-recommendation{display:grid;grid-template-columns:128px minmax(0,1fr) 54px;align-items:center;gap:12px;text-decoration:none;text-align:left;padding:12px;background:#e5f3ee;border:1.5px solid #a5c9be;border-radius:14px;margin-top:18px;position:relative}
.song-recommendation:hover{background:#d5eee5;border-color:#007f89}
.song-thumbnail{display:block;width:128px;height:72px;position:relative;overflow:hidden;background:#007f89;border-radius:8px;isolation:isolate}
.song-thumbnail::before{content:'▶';position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:25px;z-index:0}
.song-thumbnail img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover}
.song-info{min-width:0;display:flex;flex-direction:column;gap:5px}.song-info strong{font-size:15px;line-height:1.3;color:#17494b}.song-info>span{font-size:11px;color:#53736d}
.song-watch{display:flex;align-items:center;flex-direction:column;gap:5px;color:#00737b}.song-watch svg{width:24px;height:24px;fill:currentColor}.song-watch>span{font-size:9px;font-weight:900;white-space:nowrap}
@media(max-width:460px){.song-recommendation{grid-template-columns:96px minmax(0,1fr) 42px;gap:9px;padding:10px}.song-thumbnail{width:96px;height:54px}.song-info strong{font-size:13px}.song-info>span{font-size:10px}}
.intro.settings-row{gap:26px}
.player-count-picker{display:flex;align-items:center;gap:20px;flex:0 0 auto}
.player-count-picker h2{font-size:13px;flex:0 0 80px;margin:0;color:#15545a}
.player-count-options{display:flex;gap:6px}
.count-choice{width:46px;min-height:46px;font-size:18px;font-weight:900;border:1.5px solid #b9d6ce;border-radius:10px;background:#fff;transition:background .1s,transform .1s}
.count-choice[aria-pressed=true]{background:#007f89;color:#fff;border-color:#004e55;box-shadow:0 3px 0 #004e55}
.count-choice:hover{transform:translateY(-1px);border-color:#007f89}
.settings-row .mode-picker h2{flex-basis:46px}
.players,.result-scores{grid-template-columns:repeat(var(--player-count,2),minmax(0,1fr))}
.players{width:100%}.player-identity{flex:1}.player-identity>div{min-width:0;flex:1}
.player-ink{--accent:#294d55;--tint:#e6eff0;--deep:#17393f;--key-shadow:#b2c9cd;border-color:#95b4bc;box-shadow:0 3px 0 #c1d2d5}
.player-ink .key{border-color:#becfd3}.player-ink .answer{border-color:#9cb7bc;background:#f9fbfbb0}.player-ink .player-name{border-bottom-color:#99b4ba}.player-ink .feedback{color:#55747b}.ink-result{background:#e1ecef;color:#24444b}
body[data-players="1"] .players{max-width:940px;margin-inline:auto}
body[data-players="1"] .player{padding-inline:clamp(20px,5vw,68px)}
body[data-players="1"] .result-scores{max-width:250px;margin-inline:auto}
body[data-players="3"] .players{gap:16px}
body[data-players="3"] .player{padding:18px}
body[data-players="3"] .player-badge{width:33px;height:35px;border-radius:10px}
body[data-players="3"] .player-identity{gap:9px}
body[data-players="3"] .player-name{font-size:clamp(16px,6cqw,24px)}
body[data-players="3"] .score strong{font-size:33px}
body[data-players="3"] .equation{font-size:clamp(26px,10.8cqw,62px);gap:10px}
body[data-players="3"] .answer{min-width:clamp(64px,20cqw,110px);min-height:65px}
body[data-players="3"] .key-submit{font-size:17px}
body[data-players="3"] .result-scores{gap:9px}
@container(max-width:270px){
  body[data-players="3"] .equation{flex-wrap:wrap;row-gap:7px}
  body[data-players="3"] .factor{width:100%}
  body[data-players="3"] .equals{display:none}
  body[data-players="3"] .answer{min-height:47px}
}
@media(min-width:1700px){
  .player-count-picker h2{font-size:15px}.count-choice{min-height:53px;width:53px;font-size:21px}
  body[data-players="3"] .player{padding:24px}body[data-players="3"] .player-badge{width:42px;height:44px}body[data-players="3"] .score strong{font-size:42px}
}
@media(max-width:1050px){
  .player-count-picker{gap:12px}.player-count-picker h2{flex-basis:66px}
  .intro.settings-row{gap:20px}.settings-row .mode-picker{gap:12px}.settings-row .mode-choice{font-size:12px;padding-inline:8px}
  body[data-players="3"] .player{padding:14px}body[data-players="3"] .player-badge{display:none}body[data-players="3"] .key-submit{font-size:14px}
}
@media(max-width:760px){
  .intro.settings-row{flex-wrap:wrap;gap:13px}
  .player-count-picker{flex:0 0 100%}.player-count-picker h2{font-size:12px;flex-basis:66px}
  .settings-row .mode-picker{flex:0 0 100%;flex-wrap:nowrap;gap:12px}
  .settings-row .mode-picker h2{flex:0 0 66px}.settings-row .mode-options{flex-basis:auto}
}
@media(max-width:700px){
  body[data-players="3"] .players{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  body.is-round[data-players="3"]{height:auto;overflow:auto}
  body.is-round[data-players="3"] .players{flex:none}
  body.is-round[data-players="3"] .player{min-height:560px}
  body.is-round[data-players="3"] .keypad{min-height:260px}
  body[data-players="3"] .player-name{font-size:22px}
}
@media(max-width:460px){
  .settings-row .mode-picker{flex-wrap:wrap}.settings-row .mode-picker h2{flex-basis:100%}.settings-row .mode-options{flex-basis:100%}
  .settings-row .mode-choice{font-size:10px}.count-choice{min-height:43px;width:46px}
  body[data-players="3"] .result-player{padding:15px 5px}body[data-players="3"] .result-player strong{font-size:42px}body[data-players="3"] .result-player>span{font-size:10px}
}

.keyboard-help{margin:12px 0 0;text-align:center;font-size:11px;line-height:1.5;color:#557376}.answer:focus-visible{outline:3px solid #007e85;outline-offset:4px}
