*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.55;color:#202d2a}a{color:inherit}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;display:inline-block;border:1px solid currentColor;border-radius:7px;padding:.65rem 1rem;text-decoration:none;background:white;color:inherit}button:hover,.button:hover{filter:brightness(.95)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #bd631c;outline-offset:3px}input,select,textarea{max-width:100%;padding:.6rem;border:1px solid #a5afa8;border-radius:5px;background:white;color:#172c24}label{display:block;font-size:.88rem;font-weight:600}label input:not([type=checkbox]),label select{display:block;width:100%;margin-top:.35rem}textarea{width:100%;resize:vertical}h1,h2,h3,p{margin-top:0}h1{line-height:1.03;font-weight:500;letter-spacing:-.045em;font-size:clamp(2.7rem,6vw,5.8rem)}h2{font-size:1.8rem;line-height:1.2}small,.muted{color:#53675e}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.18em;font-weight:bold}.row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.stack{display:grid;gap:1rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.notice{padding:1rem;border-left:3px solid currentColor;background:#ffffff80}.guide{max-width:820px;margin:3rem auto;padding:1.5rem}.guide p{max-width:70ch}.guide-links{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:4rem 0}.guide-links a{padding:1.5rem;border-top:1px solid;text-decoration:none}.guide-links h3{font-size:1.4rem}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 4vw;gap:1rem;border-bottom:1px solid #c4c9c1}.brand{font-size:1.1rem;font-weight:bold;text-decoration:none;letter-spacing:-.03em}.site-header nav{display:flex;gap:1.2rem;font-size:.85rem}.site-footer{padding:2rem 4vw;border-top:1px solid #c4c9c1;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem}.site-footer nav{display:flex;gap:1rem;flex-wrap:wrap}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:white;z-index:9;padding:1rem}.ad-slot[hidden]{display:none!important}.ad-slot{margin:2rem auto;max-width:970px;text-align:center}.ad-slot small{display:block;font-size:11px;letter-spacing:.1em;margin-bottom:8px}.ad-slot .adsbygoogle{display:block;min-width:250px;min-height:100px}.ad-slot[data-placement=content]{max-width:336px;min-height:280px}@media(max-width:650px){.site-header{align-items:flex-start}.site-header nav{flex-direction:column;gap:.2rem}.guide-links{grid-template-columns:1fr}.two{grid-template-columns:1fr 1fr}.site-footer{display:block}.site-footer nav{margin-top:1rem}}@media print{.site-header,.site-footer,.controls,.guide-links,.ad-slot,.no-print,.intro,button,.skip{display:none!important}body{background:white!important;color:black}main{max-width:none!important;margin:0!important;padding:0!important}a{text-decoration:none}*{box-shadow:none!important}.print-text{display:block!important;white-space:pre-wrap;overflow-wrap:anywhere}}
body{background:#f5f1e8;color:#162a43}.brand{font-family:Georgia,serif;font-size:1.45rem}.brand b{color:#b94c32}main{max-width:1240px;margin:auto;padding:2rem 4vw}.intro{display:grid;grid-template-columns:1.35fr 1fr;gap:4rem;align-items:end;margin:2rem 0 3rem}.intro h1{font-family:Georgia,serif}.intro .lead{font-size:1.1rem;max-width:38ch}.game{display:grid;grid-template-columns:minmax(280px,550px) 1fr;gap:3rem;align-items:start}.board{display:grid;grid-template-columns:repeat(9,1fr);border:3px solid #162a43;background:#fff;aspect-ratio:1}.cell{position:relative;border-right:1px solid #c4c7cb;border-bottom:1px solid #c4c7cb;min-width:0}.cell.right{border-right:2px solid #162a43}.cell.bottom{border-bottom:2px solid #162a43}.cell input{width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;text-align:center;font-size:clamp(18px,3vw,28px);color:#b94c32;position:absolute;inset:0}.cell.given{background:#eff0eb}.cell.given input{font-weight:bold;color:#162a43}.cell.related{background:#f4e9dc}.cell.selected{background:#f7c995}.cell.error{background:#f9bbb9}.cell small{position:absolute;inset:2px;pointer-events:none;font-size:10px;line-height:1.3;color:#4d5e70}.keypad{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin-top:1rem}.keypad button{padding:.6rem 0;background:#162a43;color:white}.controls{background:#e9e5db;padding:1.5rem;border-radius:2px}.controls h2{font-family:Georgia,serif}.controls .row button{flex:1;font-size:.85rem}.controls label.inline{font-weight:normal}.controls input[type=checkbox]{margin-right:.4rem}.message{min-height:105px;margin-top:1.2rem;padding:1rem;background:#fff;border-left:3px solid #b94c32;font-size:.95rem}.progress{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem}.rule-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:3rem 0}.rule-cards section{border-top:2px solid #b94c32;padding:1rem 0}.rule-cards h3{font-family:Georgia,serif;font-size:1.4rem}@media(max-width:800px){.intro,.game{grid-template-columns:1fr;gap:1.5rem}.intro h1{margin-bottom:0}.rule-cards{grid-template-columns:1fr}.game .board-area{max-width:550px;width:100%;margin:auto}}@media print{.game{display:block}.board{width:165mm;height:165mm}.cell input{font-size:24pt}.keypad{display:none}.rule-cards{margin:8mm 0}.cell.selected,.cell.related,.cell.given{background:white}.cell input{color:black!important}.message{display:none}}

@media print{@page{size:A4 portrait;margin:12mm}.rule-cards,.intro{display:none}.board{width:165mm;height:165mm}}
