Sudoku / index.html
nayohan's picture
Update space
ed7c9b4
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="μ™œ κ·Έ μˆ«μžκ°€ λ“€μ–΄κ°€λŠ”μ§€ μ„€λͺ…ν•΄ μ£ΌλŠ” ν•™μŠ΅ν˜• μˆ˜λ„μΏ  κ²Œμž„">
<title>λ°°μš°λ©΄μ„œ ν‘ΈλŠ” μˆ˜λ„μΏ </title>
<link rel="stylesheet" href="style.css">
<script src="script.js" defer></script>
</head>
<body>
<header class="site-header">
<div class="header-copy">
<p class="eyebrow">Explainable Sudoku MVP</p>
<h1>λ°°μš°λ©΄μ„œ ν‘ΈλŠ” μˆ˜λ„μΏ </h1>
<p class="intro">μ •λ‹΅λ§Œ λ§žνžˆλŠ” λŒ€μ‹ , λ‹€μŒ ν•œ μˆ˜κ°€ μ™œ μ„±λ¦½ν•˜λŠ”μ§€ λ°”λ‘œ μ„€λͺ…ν•΄ μ£ΌλŠ” ν•™μŠ΅ν˜• μˆ˜λ„μΏ μž…λ‹ˆλ‹€.</p>
</div>
<nav class="top-actions" aria-label="κ²Œμž„ μ‘°μž‘">
<button id="new-game-btn" type="button">μƒˆ 퍼즐</button>
<button id="hint-btn" type="button">힌트 보기</button>
<button id="apply-hint-btn" type="button">힌트 적용</button>
<button id="check-btn" type="button">μ˜€λ‹΅ 확인</button>
<button id="reset-btn" type="button">μ΄ˆκΈ°ν™”</button>
</nav>
</header>
<main class="layout">
<section class="board-panel" aria-labelledby="board-title">
<div class="panel-head">
<div>
<h2 id="board-title">ν˜„μž¬ 퍼즐</h2>
<p id="puzzle-meta" class="muted">랜덀 λ³€ν˜• 퍼즐을 μ€€λΉ„ν•˜λŠ” μ€‘μž…λ‹ˆλ‹€.</p>
</div>
<div class="status-wrap">
<span id="difficulty-badge" class="badge">μž…λ¬Έ</span>
<p id="game-status" class="status" role="status" aria-live="polite" aria-atomic="true">퍼즐을 μ€€λΉ„ν•˜λŠ” μ€‘μž…λ‹ˆλ‹€.</p>
</div>
</div>
<article class="sudoku-shell" aria-label="μˆ˜λ„μΏ  λ³΄λ“œ μ˜μ—­">
<p id="sudoku-help" class="sr-only">λ°©ν–₯ν‚€λ‘œ 칸을 μ΄λ™ν•˜κ³  숫자 1λΆ€ν„° 9κΉŒμ§€ μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.</p>
<div id="sudoku-board" class="sudoku-board" role="grid" aria-describedby="sudoku-help"></div>
</article>
</section>
<aside class="side-panel">
<section class="info-card" aria-labelledby="hint-title">
<h2 id="hint-title">ν•™μŠ΅ 힌트</h2>
<p id="hint-message" class="hint-message" role="status" aria-live="polite" aria-atomic="true">힌트 보기λ₯Ό λˆ„λ₯΄λ©΄ λ‹€μŒ 논리 단계λ₯Ό μ„€λͺ…ν•©λ‹ˆλ‹€.</p>
</section>
<section class="info-card" aria-labelledby="analysis-title">
<h2 id="analysis-title">뢄석 μš”μ•½</h2>
<dl class="stats-grid">
<div>
<dt>μ±„μ›Œμ§„ μΉΈ</dt>
<dd id="filled-count">0</dd>
</div>
<div>
<dt>남은 μΉΈ</dt>
<dd id="remaining-count">81</dd>
</div>
<div>
<dt>λ‹€μŒ 기술</dt>
<dd id="next-technique">λŒ€κΈ° 쀑</dd>
</div>
<div>
<dt>퍼즐 뢄석</dt>
<dd id="analysis-summary">초기 뢄석을 μ€€λΉ„ν•˜λŠ” μ€‘μž…λ‹ˆλ‹€.</dd>
</div>
</dl>
</section>
<section class="info-card" aria-labelledby="log-title">
<h2 id="log-title">풀이 둜그</h2>
<ol id="log-list" class="log-list" role="log" aria-live="polite" aria-relevant="additions text"></ol>
</section>
</aside>
</main>
<footer class="site-footer">
<p>ν˜„μž¬ MVPλŠ” 단일 후보와 μˆ¨μ€ μ‹±κΈ€ κ·œμΉ™μ„ μ€‘μ‹¬μœΌλ‘œ μ„€λͺ…ν•©λ‹ˆλ‹€.</p>
</footer>
</body>
</html>