*{box-sizing:border-box}body{margin:0;background:#f7f5ef;color:#202020;font:17px/1.5 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a.primary{cursor:pointer}header,footer{max-width:1200px;margin:auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}header{border-bottom:2px solid #202020}header img{filter:brightness(0);width:58px;height:auto;display:block}main{max-width:1200px;margin:auto;padding:24px}footer{border-top:1px solid #b8b4ab;font-size:14px;flex-wrap:wrap;margin-top:40px}h1{font-size:clamp(32px,5vw,64px);line-height:1.05;letter-spacing:-2px;margin:10px 0 20px}h2{line-height:1.15;font-size:28px}p{max-width:75ch}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:1.4px}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.score{background:#d6c9f2;border-radius:50%;min-width:125px;height:125px;display:flex;align-items:center;justify-content:center;flex-direction:column}.score strong{font-size:30px}.score span{font-size:13px}.game-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:36px;margin-top:24px}.board{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));border:2px solid #222;max-width:600px;aspect-ratio:1;background:#222;gap:1px}.cell{min-width:0;aspect-ratio:1;background:white;position:relative}.cell.blocked{background:#242428}.cell input{width:100%;height:100%;min-width:0;border:0;background:transparent;text-align:center;text-transform:uppercase;font-weight:700;font-size:clamp(14px,2.1vw,24px);padding:7px 0 0;color:#171717;border-radius:0;caret-color:#6d42aa}.cell span{position:absolute;top:0;left:2px;font-size:clamp(8px,1vw,11px);line-height:1.2;pointer-events:none}.cell.selected{background:#e6dcf7}.cell.solved{background:#bde3ce}.cell.current{outline:3px solid #7952b4;outline-offset:-3px;z-index:1}.cell input:focus{outline:3px solid #5f328b;outline-offset:-3px}.active-clue{background:#e6dcf7;padding:14px;min-height:80px;margin-top:0;font-weight:600}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}button,.primary{padding:10px 15px;min-height:44px;border:1px solid #242428;border-radius:5px;background:#fff;color:#202020;text-decoration:none}.primary{background:#242428;color:#fff;font-weight:bold;display:inline-block}.clues{list-style:none;padding:0;margin:0}.clues li{margin:8px 0}.clues button{display:block;width:100%;text-align:left;background:transparent;border:1px solid transparent;font-size:16px}.clues button:hover,.clues button.active{background:#e6dcf7;border-color:#7952b4}.clues button.done{border-left:5px solid #347453}.clues button.done:after{content:' ✓';color:#25563e}.clue-panel h2:first-child{margin-top:0}.small{font-size:13px;color:#504b45}.celebration{background:#d6f18b;border:2px solid #202020;padding:22px;margin:18px 0;box-shadow:7px 7px 0 #d6c9f2}.celebration h2{margin:0}.celebration p{margin-bottom:0}.pop{animation:pop .5s ease-out}@keyframes pop{0%{transform:scale(.95) rotate(-1deg)}70%{transform:scale(1.02)}100%{transform:none}}.complete{padding:20px;background:#d6c9f2}.definitions{margin:40px 0}#notes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}#notes article{border-top:3px solid #7952b4;padding:8px 0}#notes h3{margin:4px 0}details{padding:18px;border:1px solid #aaa}summary{cursor:pointer;font-weight:bold}.skip{position:absolute;left:12px;top:-80px;background:white;padding:12px;z-index:20}.skip:focus{top:12px}.hub{max-width:1080px;padding-top:50px}.intro{font-size:21px;max-width:680px}.daily-card{display:grid;grid-template-columns:1fr 1.5fr;background:white;border:2px solid #222;margin:40px 0}.daily-card>div{padding:32px}.daily-card time{font-size:14px;font-weight:bold}.puzzle-art{background:#d6c9f2;display:flex;align-items:center;justify-content:center;min-height:280px}.puzzle-art span{font-size:32px;border:2px solid #222;background:white;width:46px;height:54px;display:grid;place-items:center;margin-left:-2px;box-shadow:5px 8px 0 #222}.play-link{margin:10px 0}button:focus-visible,a:focus-visible{outline:3px solid #7952b4;outline-offset:4px}[hidden]{display:none!important}@media(max-width:760px){header,footer{padding:15px 16px}main{padding:18px 12px}.game-layout{grid-template-columns:1fr;gap:28px}.score{min-width:86px;width:86px;height:86px}.score strong{font-size:23px}.score span{font-size:11px}.game-heading{align-items:flex-start;gap:12px}.game-heading h1{font-size:36px;letter-spacing:-1px}.cell input{font-size:16px}.active-clue{font-size:15px;min-height:76px}.clues button{font-size:16px}.daily-card{grid-template-columns:1fr}.daily-card>div{padding:24px}.puzzle-art{min-height:180px}#notes{grid-template-columns:1fr}.hub h1{font-size:42px}.intro{font-size:18px}.instructions{font-size:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.word-entry{display:block;font-size:14px;margin-top:16px}#word-answer{width:100%;min-height:48px;border:1px solid #555;padding:10px;background:white;font-size:18px;border-radius:4px}

dialog{width:min(440px,calc(100vw - 32px));border:2px solid #242428;border-radius:12px;padding:24px;background:#f7f5ef;color:#202020;box-shadow:8px 8px 0 #d6c9f2}dialog::backdrop{background:rgba(28,20,42,.5)}.hint-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.hint-top h2{margin:0;text-transform:capitalize}#close-hint{font-size:28px;min-width:48px;min-height:48px;padding:2px 12px}#hint-text{font-size:20px;line-height:1.45}body:has(dialog[open]){overflow:hidden}

.board-wrap{position:relative;max-width:600px;aspect-ratio:1}.board-wrap .board{width:100%}.grid-brand{position:absolute;left:calc(100% * 7 / 15 + 2px);top:calc(100% * 7 / 15 + 2px);width:calc(100% / 15 - 4px);height:calc(100% / 15 - 4px);background:#242428;display:flex;align-items:center;justify-content:center;pointer-events:none}.grid-brand img{opacity:.5;height:80%;width:auto;max-width:90%;object-fit:contain}

.typing-hint{border:1px solid #8d72b5;background:#eee7fa;padding:12px;display:flex;align-items:flex-start;gap:12px;margin:0 0 14px}.typing-hint[hidden]{display:none}.typing-hint>div{flex:1}.typing-hint p{margin:4px 0 0}.typing-hint button{min-width:44px}.typing-hint+ .board-wrap{scroll-margin-top:16px}

.board-panel:has(.typing-hint:not([hidden]))>.active-clue{display:none}

.pdf-downloads{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:20px 0}.pdf-downloads a{min-height:44px;display:inline-flex;align-items:center}.solution-download{max-width:1200px;margin:24px auto;padding:0 24px}
