:root{--chrome-font: Inter, "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, system-ui, sans-serif;--chrome-width: 1180px;--chrome-gutter: 28px;--chrome-header-height: 78px;--chrome-brand-size: 16px;--chrome-caption-size: 11px;--chrome-footer-size: 12px;font-family:var(--chrome-font);color:#25314a;background:#f6f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}button:focus-visible{outline:3px solid #667ddd;outline-offset:3px}button:disabled{cursor:not-allowed}.app-shell{max-width:var(--chrome-width);padding:0 var(--chrome-gutter);margin:0 auto}.site-header{min-height:var(--chrome-header-height);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e5ed}.brand-lockup{display:flex;align-items:center;gap:11px}.brand-icon{display:grid;grid-template-columns:repeat(3,6px);gap:3px;width:36px;height:36px;background:#344b92;padding:6px;border-radius:10px;box-shadow:0 7px 14px #344b9223}.brand-icon span{display:block;width:6px;height:6px;border-radius:2px;background:#e6edff}.brand-icon span:nth-child(5){background:#a9bbff}.brand-name{font-size:var(--chrome-brand-size);font-weight:800;letter-spacing:.02em;color:#182543}.brand-name span{color:#526cc3}.page-heading{padding:36px 0 24px}.panel-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;color:#5a70c1}.page-heading h1{font-size:clamp(24px,2.8vw,34px);line-height:1.3;letter-spacing:-.04em;margin:0;color:#192642}.workspace{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(290px,1fr);gap:25px;align-items:start}.board-card,.side-panel{background:#fff;border:1px solid #e7eaf1;border-radius:19px;box-shadow:0 14px 48px #2c3c6510}.board-card{padding:29px;min-width:0}.board-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.board-card h2,.side-panel h2{font-size:19px;margin:8px 0 0;font-weight:800;letter-spacing:-.035em}.progress-chip{white-space:nowrap;border-radius:30px;background:#f5f7fc;border:1px solid #e6ebf7;padding:8px 12px;color:#354b8e;font-size:14px;font-weight:800;display:flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}.progress-chip span:last-child{color:#9ba7bb;font-weight:500}.progress-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#637ad4;margin-right:5px}.sudoku-board{width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr));border:2px solid #273655;border-radius:5px;overflow:hidden;background:#fff}.board-row{display:contents}.board-cell{min-width:0;min-height:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-right:1px solid #d9deea;border-bottom:1px solid #d9deea;border-radius:0;background:#fff;color:#29334a;font-size:clamp(15px,2.2vw,27px);font-weight:700;font-variant-numeric:tabular-nums;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .1s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.board-cell:nth-child(9n){border-right:none}.board-row:last-child .board-cell{border-bottom:none}.board-cell.block-right{border-right:2px solid #273655}.board-cell.block-bottom{border-bottom:2px solid #273655}.board-cell.related{background:#f2f5fc}.board-cell.matching{background:#e5ebfa}.board-cell.generated{color:#536ed0}.board-cell.invalid{background:#ffedf0;color:#c83753}.board-cell.active{position:relative;z-index:1;background:#dce6ff;box-shadow:inset 0 0 0 2px #536fca}.board-cell.active.invalid{background:#ffdde4;box-shadow:inset 0 0 0 2px #cd4b65}.board-cell:hover:not(.active){background:#e8efff}.board-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:13px;margin-top:20px}.legend{display:flex;flex-wrap:wrap;gap:14px}.legend span{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#79869c;white-space:nowrap}.legend-dot{width:8px;height:8px;display:inline-block;border-radius:50%}.manual-dot{background:#283650}.answer-dot{background:#536ed0}.error-dot{background:#e15872}.board-helper{font-size:11px;color:#a2aaba}.side-panel{overflow:hidden}.panel-section{padding:27px 28px}.panel-section+.panel-section{border-top:1px solid #eef0f5}.section-description{font-size:12px;line-height:1.9;color:#8a95a6;margin:12px 0 19px}.primary-button{width:100%;padding:15px 18px;border:1px solid #3f58b4;border-radius:10px;background:#4964bd;color:#fff;font-size:15px;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:11px;box-shadow:0 8px 16px #4c67bd30;transition:transform .12s,background .12s}.primary-button:hover:not(:disabled){transform:translateY(-1px);background:#3a53ab}.primary-button:disabled{opacity:.48;box-shadow:none}.primary-arrow{margin-left:auto;font-size:20px;font-weight:400}.feedback{display:flex;gap:9px;align-items:flex-start;padding:12px 13px;background:#f5f7fc;border-radius:9px;margin-top:14px}.feedback p{margin:0;color:#697995;font-size:11px;line-height:1.8}.feedback-symbol{flex:none;display:grid;place-items:center;border-radius:50%;background:#e3e9fa;color:#5370c1;width:16px;height:16px;font-size:11px;font-weight:800;margin-top:1px}.feedback-error{background:#fff0f2}.feedback-error p{color:#b43d56}.feedback-error .feedback-symbol{background:#e8acba;color:#fff}.feedback-success{background:#edf8f0}.feedback-success p{color:#287c52}.feedback-success .feedback-symbol{background:#45a174;color:#fff}.panel-title-row{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:18px}.selected-coordinate{color:#7b8dbd;background:#f2f5fb;border-radius:6px;font-size:11px;font-weight:700;padding:7px 9px;white-space:nowrap}.number-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.digit-button,.erase-button{border:1px solid #e2e7f2;background:#f8f9fd;border-radius:9px;color:#344567;font-size:20px;font-weight:700;min-height:51px;cursor:pointer;transition:background .12s,border-color .12s}.digit-button:hover,.erase-button:hover{background:#e9efff;border-color:#acbcea}.digit-button:active,.erase-button:active{background:#dce7ff}.erase-button{grid-column:1 / -1;font-size:12px;min-height:39px;color:#74819a}.erase-button span{font-size:19px;vertical-align:middle}.actions-section h2{margin-bottom:17px}.tool-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tool-button{border:1px solid #e3e7f0;border-radius:9px;padding:12px 7px;background:#fff;color:#56637b;font-size:12px;font-weight:700;cursor:pointer}.tool-button:hover:not(:disabled){background:#f5f7fd;border-color:#a7b5df}.tool-button:disabled{opacity:.42}.tool-button span{margin-right:4px;font-size:16px}.bottom-note{display:flex;align-items:flex-start;gap:11px;margin:25px 1px 36px}.bottom-note p{font-size:12px;line-height:1.9;color:#8d96a8;margin:0}.bottom-note strong{color:#66738a}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e1e5ed;padding:28px 0 32px;color:#8490a4;font-size:var(--chrome-footer-size);font-weight:500;letter-spacing:.02em}.site-footer a{color:#526bc0;text-decoration:none;white-space:nowrap}.site-footer a:hover{text-decoration:underline}.note-symbol{font-size:21px;color:#8c9abe}@media(max-width:1000px){.app-shell{padding:0 var(--chrome-gutter)}.workspace{grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);gap:17px}.board-card{padding:20px}.panel-section{padding:22px}}.mobile-number-pad{display:none}@media(max-width:760px){.page-heading{padding:27px 0 19px}.workspace{grid-template-columns:1fr}.board-card{max-width:620px;width:100%;margin:0 auto}.side-panel{display:block}.keypad-section{display:none}.mobile-number-pad{display:block;margin-top:14px}.mobile-input-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:12px;font-weight:700;color:#56637b}.mobile-number-pad .number-pad{grid-template-columns:repeat(9,minmax(0,1fr));gap:5px}.mobile-number-pad .digit-button{min-width:0;min-height:48px;font-size:18px;touch-action:manipulation}.mobile-number-pad .erase-button{min-height:40px;grid-column:1 / -1;touch-action:manipulation}.bottom-note{margin-bottom:40px}}@media(max-width:520px){.app-shell{padding:0 var(--chrome-gutter)}.page-heading{padding:22px 5px 17px}.page-heading h1{font-size:24px}.board-card{padding:15px 10px 16px;border-radius:13px}.board-card-heading{padding:4px 5px 0;margin-bottom:16px}.board-card h2{font-size:16px}.sudoku-board{width:100%}.board-cell{font-size:clamp(16px,5.5vw,24px)}.board-meta{padding:0 5px}.legend{gap:10px}.board-helper{display:none}.side-panel{border-radius:13px}.panel-section{padding:22px}.mobile-number-pad .number-pad{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.mobile-number-pad .digit-button,.mobile-number-pad .erase-button{min-height:48px}.mobile-number-pad .erase-button{grid-column:auto;font-size:0}.mobile-number-pad .erase-button span{font-size:22px}.mobile-number-pad{margin-top:12px}.bottom-note{margin:20px 5px 32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}@media(max-width:620px){:root{--chrome-gutter: 17px;--chrome-header-height: 67px}}
