*{box-sizing:border-box}body{margin:0;background:#faf7ef;color:#243c32;font:18px/1.6 system-ui,-apple-system,sans-serif}a{color:inherit;text-underline-offset:4px}header,footer{max-width:1180px;margin:auto;padding:25px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px}header{border-bottom:1px solid #243c3226}.brand{font-size:25px;font-weight:800;letter-spacing:-1px;text-decoration:none}.brand span{display:inline-grid;place-items:center;background:#2a5c46;color:white;width:35px;height:35px;border-radius:10px;margin-right:10px}nav{display:flex;gap:18px;align-items:center;font-size:15px}main{max-width:1124px;margin:auto;padding:45px 0 70px}h1{font:500 clamp(38px,6vw,70px)/1.07 Georgia,serif;letter-spacing:-1.8px;margin:18px 0 22px;max-width:820px}h2{font:500 29px/1.2 Georgia,serif}.eyebrow{font:700 12px ui-monospace,monospace;color:#85512a;letter-spacing:2px;text-transform:uppercase}.intro{max-width:680px;color:#56665b;font-size:20px}.hero{padding:16px 0 45px;position:relative}.hero .promise{display:flex;gap:12px;flex-wrap:wrap;font-size:14px}.pill{background:#ecefe3;border-radius:30px;padding:5px 13px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{display:flex;flex-direction:column;background:white;border:1px solid #243c3230;border-radius:10px;padding:25px;text-decoration:none;min-height:260px;transition:transform .15s}.card:hover{transform:translateY(-3px)}.card .symbol{font:34px Georgia,serif;color:#9c5e31}.card h2{font:700 21px/1.25 system-ui}.card p{font-size:16px;color:#56665b;margin:0 0 24px}.card .go{margin-top:auto;font-size:15px;font-weight:700;color:#2a5c46}.crumb{font-size:14px;margin-bottom:22px}.layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:30px;align-items:start}.play{padding:28px;background:white;border:1px solid #243c3230;border-radius:10px;min-width:0}.instructions{padding:10px 0}.instructions p{font-size:16px;color:#56665b}.controls,.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}button{font:600 16px/1.3 system-ui;cursor:pointer;padding:12px 17px;min-height:46px;border:1px solid #a7b5a9;border-radius:6px;background:#f4f6ee;color:#243c32}button:hover{background:#e3eddf}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a15b25;outline-offset:3px}button.primary{background:#2a5c46;color:white;border-color:#2a5c46}button:disabled{cursor:default;opacity:.8}input,select{font:inherit;padding:10px;border:1px solid #a7b5a9;border-radius:4px;background:white;color:#243c32;max-width:100%}label{display:block;font-size:16px}input{display:block;margin-top:6px}.feedback{min-height:52px;color:#2a5c46;font-weight:650;margin:20px 0 0}.wordgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;max-width:600px}.letter{padding:0;min-height:0;aspect-ratio:1;border:0;background:#f4f5ef;font:600 19px ui-monospace,monospace;border-radius:2px;min-width:0}.letter.selected{background:#ffe3a9}.letter.found{background:#cbe3c3}.wordlist{list-style:none;display:flex;flex-wrap:wrap;gap:9px 22px;padding:0;font-weight:650;font-size:16px}.foundword{text-decoration:line-through;color:#60775a}.bingogrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;max-width:540px;text-align:center}.bingogrid strong{font-size:25px}.bingocell{font-size:25px;aspect-ratio:1;padding:0}.marked{background:#cbe3c3}.caller{margin-top:25px;border-top:1px solid #ddd;padding-top:20px}.called{font-size:38px;display:block}.callhistory{font-size:14px;max-height:180px;overflow:auto}.memorygrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:520px}.memorycard{aspect-ratio:1;font-size:38px;background:#f0e4ce;border-color:#dbc7a2}.memorycard.matched{background:#d4e6ca}.sudokugrid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:2px solid #243c32;max-width:560px}.sudokugrid input{aspect-ratio:1;width:100%;margin:0;text-align:center;font-size:25px;border:1px solid #c3c9c0;border-radius:0;padding:0;min-width:0}.sudokugrid .given{font-weight:800;background:#e9ede2}.sudokugrid .boxright{border-right:3px solid #243c32}.sudokugrid .boxbottom{border-bottom:3px solid #243c32}.sudokugrid .mistake{background:#ffdcd1}.sudokugrid .hinted{color:#426e30}.challenge{font:700 clamp(26px,4vw,43px)/1.4 ui-monospace,monospace;padding:20px 0;overflow-wrap:anywhere}.answerform{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:15px}.answerform input{max-width:240px}.answerform+button{margin:0 10px 10px 0}.trailgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;max-width:530px}.trailcell{font-size:25px;aspect-ratio:1;padding:0}.notebox{padding:24px;border-left:3px solid #9c5e31;background:#f0eee3;margin:35px 0}.notebox p{font-size:16px;margin:7px 0}.more{margin-top:45px}.prose{max-width:760px}.prose p{color:#526257}footer{border-top:1px solid #243c3226;font-size:14px;color:#526257;align-items:start}.large{font-size:21px}.large .instructions p,.large .card p{font-size:19px}.large .letter{font-size:23px}.large button{font-size:19px}.large .bingocell,.large .trailcell{font-size:31px}.large .memorycard{font-size:43px}.large .sudokugrid input{font-size:30px}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:0;background:white;padding:10px;z-index:2}@media(max-width:1180px){main{padding:35px 28px}}@media(max-width:800px){.layout{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.instructions{padding:0}.hero{padding-top:0}header{padding:20px}nav{gap:10px}.brand{font-size:23px}nav a{display:none}}@media(max-width:500px){main{padding:28px 16px}.cards{grid-template-columns:1fr}.card{min-height:205px}.play{padding:14px}.letter{font-size:16px}.large .letter{font-size:19px}.sudokugrid input{font-size:21px}.large .sudokugrid input{font-size:24px}.memorycard{font-size:30px}.large .memorycard{font-size:35px}footer{flex-direction:column}.bingocell{font-size:23px}h1{letter-spacing:-1px}.wordgrid{gap:1px}.brand span{margin-right:6px}nav button{padding:8px;font-size:13px}.challenge{font-size:28px}.hero .promise{font-size:13px}}@media print{body{background:white;color:black}header,footer,nav,.controls,.actions,.instructions,.more,.notebox,.caller,.feedback,.answerform,.crumb{display:none}.layout{display:block}.play{border:0;padding:0}main{padding:0}.play button{border:1px solid #888;background:white;color:black}.wordgrid{width:170mm}.bingogrid{width:145mm}.sudokugrid{width:160mm}.wordgrid .found,.marked{background:white}.play .foundword{text-decoration:none}.hero{padding:0}h1{font-size:30px}.play input{color:black}.sudokugrid .given{background:white}.gameintro{font-size:14px}.cards{display:none}}
