:root { --primary: #6c5ce7; --bg: #f9f9f9; }
body { background: var(--bg); font-family: 'Pretendard', sans-serif; display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; }
.container { width: 100%; max-width: 450px; padding: 20px; }
.card { background: white; padding: 30px; border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); text-align: center; }
.hide { display: none; }
button { background: var(--primary); color: white; border: none; padding: 15px; border-radius: 12px; font-size: 16px; cursor: pointer; transition: 0.3s; width: 100%; margin-top: 10px; }
.ans-btn { background: #f0f2f5; color: #333; border: 1px solid #ddd; }
.ans-btn:hover { background: var(--primary); color: white; }
.sub-btn { background: #eee; color: #666; font-size: 14px; margin-top: 20px; width: auto; padding: 10px 20px; }
#book-list { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 20px; }
.book-card { background: #fff; border-radius: 10px; padding: 10px; border: 1px solid #f0f0f0; }
.book-card img { width: 100%; height: 160px; object-fit: contain; border-radius: 5px; margin-bottom: 10px; }
.book-card p { font-size: 13px; margin: 0; font-weight: bold; color: #444; }
#type-name { font-size: 26px; font-weight: bold; color: var(--primary); margin: 20px 0; }
.progress-container { background: #eee; height: 10px; border-radius: 5px; margin-bottom: 25px; }
#progress { background: var(--primary); height: 100%; width: 0%; border-radius: 5px; transition: 0.3s; }
.copyright-notice { font-size: 11px; color: #aaa; margin-top: 30px; }