:root{--ink:#111827;--blue:#123a8c;--pale:#f4f7ff;--line:#c9d4ef;--ad:#f7f7f7}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:Verdana,Arial,sans-serif;font-size:14px;line-height:1.45}.page{max-width:1120px;margin:14px auto;border:2px solid var(--blue);background:white}.top{padding:16px 20px;border-bottom:2px solid var(--blue);display:flex;gap:16px;justify-content:space-between;align-items:end}.brand{font-size:30px;color:var(--blue);font-weight:700;text-decoration:none}.tagline{margin:4px 0 0;color:#444}.nav{display:flex;gap:12px;flex-wrap:wrap}.nav a{color:var(--blue);font-weight:700}.layout{display:grid;grid-template-columns:170px 1fr 170px;gap:18px;padding:18px}.sidebar{font-size:12px}.adbox{min-height:280px;border:1px dashed #aaa;background:var(--ad);display:flex;align-items:center;justify-content:center;text-align:center;color:#666;padding:12px;margin-bottom:16px}.panel{border:1px solid var(--line);background:var(--pale);padding:14px;margin-bottom:16px}h1,h2,h3{color:var(--blue);line-height:1.15}h1{font-size:28px;margin-top:0}.hero{border-bottom:1px solid var(--line);margin-bottom:18px}.button{display:inline-block;background:var(--blue);color:white!important;text-decoration:none;padding:9px 13px;border-radius:4px;font-weight:700}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.card{border:1px solid var(--line);padding:14px;background:#fff}.card h3{margin-top:0}.puzzle-shell{display:grid;grid-template-columns:minmax(280px,520px) 1fr;gap:18px;align-items:start}.crossword{display:grid;gap:1px;background:#333;border:2px solid #333;max-width:520px}.cell{position:relative;aspect-ratio:1;background:#fff}.cell.block{background:#111}.cell input{width:100%;height:100%;border:0;text-align:center;text-transform:uppercase;font-size:20px;font-weight:700;background:transparent}.num{position:absolute;top:1px;left:2px;font-size:9px;color:#333}.clues ol{padding-left:24px}.clues li{margin-bottom:8px}.status{font-weight:700;margin:10px 0}.footer{border-top:2px solid var(--blue);padding:14px 20px;font-size:12px;color:#555}.print-only{display:none}@media(max-width:850px){.layout{grid-template-columns:1fr}.sidebar{display:none}.top{display:block}.puzzle-shell{grid-template-columns:1fr}}@media print{.top,.sidebar,.button,.footer{display:none}.page{border:0;margin:0}.layout{display:block}.print-only{display:block}.cell input{font-size:16px}}