@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Oswald:wght@500;600;700&display=swap');
:root{--paper:#f7f4ed;--ink:#1b1a17;--orange:#dd5c29;--line:#d8d3c8;--tile:#e9e5db;--gold:#e8c95c;--blue:#91bac7;--purple:#b7a5c8}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit}.page-shell{max-width:1480px;margin:auto;padding:0 44px}.masthead{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink)}.wordmark{text-decoration:none;font-family:Oswald,Impact,sans-serif;font-size:31px;font-weight:700;letter-spacing:-1.5px;white-space:nowrap}.ball-mark{display:inline-grid;place-items:center;margin-right:5px;width:26px;height:26px;border:2px solid var(--orange);border-radius:50%;font:19px Arial;color:var(--orange);vertical-align:3px}.period{color:var(--orange)}.mast-right{display:flex;align-items:center;gap:42px}.edition,.text-button,.overline,.small-label,.eyebrow,.ticker,.puzzle-id,.art-caption,.aside-bottom,footer{font-size:11px;font-weight:800;letter-spacing:1.7px}.text-button{border:0;background:none;padding:12px 0}.text-button:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1.12fr .88fr;min-height:360px;border-bottom:1px solid var(--ink)}.hero-copy{padding:45px 0 36px}.eyebrow{display:flex;align-items:center;gap:10px}.orange-dot{width:8px;height:8px;background:var(--orange);border-radius:50%}.hero h1{font:700 clamp(61px,7.1vw,113px)/.94 Oswald,Impact,sans-serif;letter-spacing:-3px;margin:22px 0 20px}.hero h1 em{color:var(--orange);font-style:normal}.hero p{max-width:440px;font-size:14px;line-height:1.65;margin:0}.hero-art{position:relative;overflow:hidden;min-height:340px}.court-circle{position:absolute;width:340px;height:340px;border:4px solid var(--orange);border-radius:50%;right:9%;top:12%;transform:rotate(-18deg);opacity:.9}.court-line{position:absolute;background:var(--orange)}.vertical{width:4px;height:100%;left:50%;top:0}.horizontal{height:4px;width:100%;top:50%;left:0}.court-arc{position:absolute;width:180px;height:350px;border:4px solid var(--orange);border-radius:50%;top:-8px}.court-arc.left{left:-95px}.court-arc.right{right:-95px}.art-caption{position:absolute;right:0;bottom:23px;writing-mode:vertical-rl}.ticker{min-height:42px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink);gap:20px}.ticker b{color:var(--orange);padding:0 10px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:64px;padding:52px 0 70px}.section-heading{display:flex;justify-content:space-between;align-items:end}.overline{color:var(--orange)}.section-heading h2,dialog h2{font:600 clamp(36px,4vw,58px)/1 Oswald,Impact,sans-serif;letter-spacing:-1.4px;margin:12px 0 0}.puzzle-id{border:1px solid var(--ink);padding:10px 11px}.instructions{font-size:14px;color:#5d5a54;margin:18px 0 25px}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.tile{min-height:89px;padding:8px;border:1px solid transparent;background:var(--tile);font-weight:800;font-size:clamp(11px,1.1vw,15px);line-height:1.2;text-transform:uppercase;letter-spacing:.2px;transition:background .13s,transform .13s}.tile:hover{background:#ded9cd;transform:translateY(-2px)}.tile.selected{background:var(--ink);color:var(--paper)}.tile.selected:hover{background:#35332e}.tile:active{transform:scale(.97)}.solved-groups{display:grid;gap:9px;margin-bottom:9px}.solved-groups:empty{display:none}.solved{padding:17px 18px;text-align:center}.solved.gold{background:var(--gold)}.solved.orange{background:#e9a582}.solved.blue{background:var(--blue)}.solved.purple{background:var(--purple)}.solved h3{font:600 21px Oswald,Impact,sans-serif;text-transform:uppercase;margin:0 0 2px}.solved p{font-size:12px;font-weight:700;margin:0}.solved details{margin-top:8px;font-size:12px;line-height:1.5}.solved summary{display:inline-block;cursor:pointer;font-weight:800;text-decoration:underline;text-underline-offset:2px}.solved .lore{max-width:550px;margin:8px auto}.solved a{font-weight:800}.status{min-height:29px;margin-top:12px;text-align:center;font-weight:800;font-size:13px;color:var(--orange)}.game-controls{display:flex;justify-content:space-between;align-items:end;gap:16px;border-top:1px solid var(--line);padding-top:17px}.mistake-dots{display:flex;gap:8px;margin-top:9px}.mistake-dot{height:13px;width:13px;background:var(--orange);border-radius:50%}.mistake-dot.used{background:transparent;border:1px solid #aaa59b}.actions{display:flex;gap:7px}.outline-button,.primary-button{min-height:42px;padding:0 17px;font-size:11px;font-weight:800;letter-spacing:1px;border:1px solid var(--ink);white-space:nowrap}.outline-button{background:transparent}.outline-button:hover{background:var(--tile)}.primary-button{background:var(--ink);color:white}.primary-button:not(:disabled):hover{background:var(--orange);border-color:var(--orange)}.game-aside{background:var(--orange);color:#211a15;padding:25px 24px;min-height:495px;display:flex;flex-direction:column}.aside-top{display:flex;justify-content:space-between;align-items:start}.game-aside .overline{color:#382118}.aside-star{font-size:26px}.game-aside h3{font:700 58px/.94 Oswald,Impact,sans-serif;letter-spacing:-1px;margin:55px 0 25px}.game-aside h3 span{color:var(--paper)}.game-aside p{font-size:13px;line-height:1.55;max-width:215px;font-weight:600}.aside-rule{height:1px;background:#653a29;margin-top:auto}.aside-bottom{display:flex;justify-content:space-between;padding-top:17px}.end-panel{margin-top:24px;border:1px solid var(--ink);padding:22px}.end-panel h3{font:600 30px Oswald,Impact,sans-serif;margin:5px 0}.end-panel p{font-size:13px;line-height:1.5}.end-panel button{margin-top:8px}.share-grid{display:grid;grid-template-columns:repeat(4,18px);gap:4px;margin:14px 0}.share-square{width:18px;height:18px}.share-square.gold{background:var(--gold)}.share-square.orange{background:#e9a582}.share-square.blue{background:var(--blue)}.share-square.purple{background:var(--purple)}.share-square.miss{background:#77736b}footer{min-height:70px;border-top:1px solid var(--ink);display:flex;justify-content:space-between;align-items:center}dialog{border:1px solid var(--ink);background:var(--paper);color:var(--ink);max-width:480px;width:calc(100% - 30px);padding:30px;box-shadow:12px 12px 0 var(--orange)}dialog::backdrop{background:#1b1a17b8}dialog p,dialog li{font-size:14px;line-height:1.6}dialog ul{padding-left:21px}.dialog-close{border:0;background:none;font-size:30px;float:right;line-height:1}.dialog-note{color:#676158;font-size:12px}dialog .primary-button{margin-top:12px}@media(max-width:850px){.page-shell{padding:0 24px}.hero{grid-template-columns:1fr .65fr}.hero h1{font-size:clamp(58px,8vw,82px)}.court-circle{right:-45%;top:20%;width:280px;height:280px}.game-layout{grid-template-columns:1fr;gap:25px}.game-aside{min-height:0}.game-aside h3{margin:18px 0;font-size:39px}.game-aside p{max-width:100%;margin:0 0 15px}.aside-rule{margin-top:10px}}@media(max-width:600px){.page-shell{padding:0 16px}.masthead{height:66px}.wordmark{font-size:25px}.edition{display:none}.mast-right{gap:0}.hero{display:block;min-height:0}.hero-copy{padding:32px 0 35px}.hero h1{font-size:clamp(54px,13.4vw,79px);letter-spacing:-2px}.hero p{font-size:13px;max-width:340px}.hero-art{display:none}.ticker{font-size:9px;line-height:1.5;min-height:40px}.ticker span:last-child{display:none}.ticker b{padding:0 4px}.game-layout{padding:34px 0 40px}.section-heading h2{font-size:41px}.instructions{font-size:13px;line-height:1.5;margin:15px 0 20px}.board{gap:6px}.tile{min-height:76px;font-size:clamp(10px,2.7vw,13px);padding:4px;overflow-wrap:anywhere}.solved{padding:12px 8px}.solved h3{font-size:18px}.solved p{font-size:10px}.game-controls{display:block}.actions{justify-content:space-between;margin-top:20px}.actions button{padding:0 12px}.game-aside{padding:22px;min-height:0}footer{font-size:9px;line-height:1.5;gap:20px}footer span:last-child{text-align:right}}@media(max-width:360px){.actions button{padding:0 8px;font-size:10px}.tile{min-height:70px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.discover{border-top:1px solid var(--ink);padding:54px 0 68px;display:grid;grid-template-columns:1fr 1fr;column-gap:60px}.discover .overline{grid-column:1/-1}.discover h2{font:600 clamp(32px,3.6vw,54px)/1.05 Oswald,Impact,sans-serif;letter-spacing:-1px;margin:19px 0 0}.discover p{font-size:14px;line-height:1.75;max-width:500px;margin:22px 0 0}@media(max-width:600px){.discover{display:block;padding:38px 0 44px}.discover h2{font-size:39px}.discover p{margin-top:18px;font-size:13px}footer{letter-spacing:.8px}}
/* Theme control and dark palette */
.theme-button{display:inline-flex;align-items:center;gap:6px;min-height:40px;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:0 10px;font-size:10px;font-weight:800;letter-spacing:1px;white-space:nowrap}
.theme-button span:first-child{font-size:18px;line-height:1}
.theme-button:hover{background:var(--tile)}
html[data-theme="dark"]{--paper:#15191a;--ink:#f5f1e8;--orange:#ff945b;--line:#4c5354;--tile:#293133;--gold:#e8c95c;--blue:#91bac7;--purple:#b7a5c8;color-scheme:dark}
html[data-theme="dark"] .instructions,html[data-theme="dark"] .dialog-note{color:#c3c8c6}
html[data-theme="dark"] .tile:hover{background:#364043}
html[data-theme="dark"] .tile.selected:hover{background:#dbd5c8}
.tile.shake{animation:wrong-guess-wiggle .42s ease-in-out}
.tile.shake:disabled{opacity:1}
@keyframes wrong-guess-wiggle{0%,100%{transform:translateX(0)}18%,54%{transform:translateX(-5px)}36%,72%{transform:translateX(5px)}}
.end-panel button+button{margin-left:8px}
html[data-theme="dark"] .primary-button{color:#15191a}
html[data-theme="dark"] .primary-button:not(:disabled):hover{color:#1b1a17}
html[data-theme="dark"] .solved{color:#1b1a17}
html[data-theme="dark"] .solved.orange,html[data-theme="dark"] .share-square.orange{background:#e9a582}
html[data-theme="dark"] .game-aside{color:#211a15}
html[data-theme="dark"] .game-aside .overline{color:#382118}
html[data-theme="dark"] .policy .updated{color:#c3c8c6}
@media(max-width:600px){.mast-right{gap:8px}.theme-button{padding:0 8px}.theme-label{display:none}.mast-right .text-button{font-size:10px;letter-spacing:.7px}}
.quick-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0 0}.quick-rules span{display:flex;align-items:center;gap:8px;min-height:46px;padding:8px 10px;border:1px solid var(--line);font-size:12px;font-weight:700;line-height:1.3}.quick-rules b{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--orange);color:#211a15;font-size:12px}.instructions{margin:14px 0 18px}.game-progress{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;margin-bottom:12px;border:1px solid var(--ink)}.selection-progress,.mistakes{display:grid;gap:5px}.selection-progress strong,.mistake-heading strong{font-size:13px}.mistakes{text-align:right}.mistake-heading{display:flex;align-items:center;gap:9px}.mistake-dots{justify-content:flex-end;margin-top:0}.game-controls{justify-content:flex-end}.solved.just-solved{position:relative;animation:group-reveal .8s cubic-bezier(.2,.8,.2,1) both}.solved.just-solved::after{content:'✓';position:absolute;right:12px;top:10px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:16px;font-weight:800;animation:group-check .7s ease-out both}@keyframes group-reveal{0%{opacity:.35;transform:scale(.96);box-shadow:0 0 0 0 var(--orange)}42%{opacity:1;transform:scale(1.025);box-shadow:0 0 0 5px var(--orange)}100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 transparent}}@keyframes group-check{0%{opacity:0;transform:scale(.25) rotate(-25deg)}45%{opacity:1;transform:scale(1.2) rotate(5deg)}100%{opacity:1;transform:scale(1) rotate(0)}}@media(max-width:600px){.quick-rules{gap:5px;margin-top:16px}.quick-rules span{display:block;min-height:66px;padding:7px;font-size:10px}.quick-rules b{margin-bottom:5px}.instructions{margin:12px 0 15px}.game-progress{padding:10px;gap:8px}.selection-progress strong,.mistake-heading strong{font-size:12px}.mistake-heading{display:grid;gap:3px}.game-controls{display:flex}.actions{margin-top:0;width:100%}}@media(max-width:360px){.quick-rules span{font-size:9px}.small-label{letter-spacing:1px}.solved.just-solved::after{width:23px;height:23px;right:5px;top:5px}}@media(prefers-reduced-motion:reduce){.solved.just-solved,.solved.just-solved::after{animation:none}}
