*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#24314b;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.95}header,footer{background:#fff;border-bottom:1px solid #dce3ef;padding:18px max(20px,calc((100% - 880px)/2))}header a{font-weight:800;text-decoration:none}main{max-width:880px;margin:auto;padding:24px 20px 64px}article{background:#fff;border:1px solid #dce3ef;border-radius:18px;padding:clamp(20px,4vw,40px)}h1{font-size:clamp(25px,5vw,34px);line-height:1.5}h2{font-size:22px;line-height:1.6;margin-top:36px}a{color:#2855d7}a:focus-visible,summary:focus-visible{outline:3px solid #f0b429;outline-offset:4px}.meta{font-size:14px;color:#64748b}.example{padding:18px;background:#f0f5ff;border-left:4px solid #315efb;border-radius:8px;font-size:20px}.example p{margin:4px 0}details{padding:16px;background:#f5f8ff;border-radius:8px;margin:18px 0}summary{cursor:pointer;font-weight:700}.cta{display:inline-block;padding:12px 20px;border-radius:10px;background:#315efb;color:#fff;text-decoration:none;font-weight:700}.related{margin-top:28px}.related a{display:inline-block;margin:5px 12px 5px 0}footer{line-height:2;font-size:14px}footer a{margin-right:12px}.sudoku{border-collapse:collapse;margin:24px auto;font-size:23px}.sudoku td{border:1px solid #64748b;width:56px;height:56px;text-align:center}.sudoku tr:nth-child(2) td{border-bottom:3px solid #24314b}.sudoku td:nth-child(2){border-right:3px solid #24314b}.sudoku{border:3px solid #24314b}.cross{display:grid;grid-template-columns:90px 64px 90px;grid-template-rows:80px 64px 80px;justify-content:center;align-items:center;text-align:center;font-size:25px;line-height:1.35;margin:24px 0}.top{grid-area:1/2}.left{grid-area:2/1}.center{grid-area:2/2;border:2px solid #315efb;border-radius:8px;padding:10px}.right{grid-area:2/3}.bottom{grid-area:3/2}@media print{header,footer,.related,.cta{display:none}body{background:#fff}main{padding:0}article{border:0;padding:0}details{display:block}h2{break-after:avoid}.example,.cross,table{break-inside:avoid}}