.lyra-d2 { max-width: 640px; margin: 0 auto; padding: 24px 16px; color: #f2f0fa; background: #17142b; border-radius: 16px; font-family: sans-serif; }
.lyra-d2-title { font-size: 22px; line-height: 1.5; margin: 12px 0 16px; color: #fff; }
.lyra-d2-lead, .lyra-d2-from { color: #b9b3d9; font-size: 14px; margin: 0 0 8px; }
.lyra-d2-chars, .lyra-d2-themes, .lyra-d2-scale { display: flex; flex-direction: column; gap: 12px; }
.lyra-d2-char, .lyra-d2-theme, .lyra-d2-opt { display: block; width: 100%; text-align: left; padding: 16px; border-radius: 12px; border: 1px solid #3a3461; background: #221e3f; color: #f2f0fa; cursor: pointer; font-size: 16px; }
.lyra-d2-char:hover, .lyra-d2-theme:hover, .lyra-d2-opt:hover { border-color: #8b7fe8; background: #2a2650; }
.lyra-d2-char-name { display: block; font-size: 20px; font-weight: bold; margin-bottom: 4px; }
.lyra-d2-char-desc { display: block; font-size: 14px; color: #b9b3d9; }
.lyra-d2-bar { height: 8px; background: #2a2650; border-radius: 4px; overflow: hidden; margin-bottom: 8px; }
.lyra-d2-bar-fill { height: 100%; background: #8b7fe8; transition: width .3s; }
.lyra-d2-count { color: #b9b3d9; font-size: 13px; margin: 0; }
.lyra-d2-body { line-height: 1.8; font-size: 15px; }
.lyra-d2-step { line-height: 1.8; font-size: 15px; background: #221e3f; border-left: 4px solid #8b7fe8; padding: 12px 16px; border-radius: 8px; }
.lyra-d2-comment { margin: 20px 0; padding: 16px; background: #221e3f; border-radius: 12px; }
.lyra-d2-comment-name { display: inline-block; font-weight: bold; margin-right: 8px; color: #c9c2ff; }
.lyra-d2-comment-text { line-height: 1.8; }
.lyra-d2-cta { display: flex; flex-direction: column; gap: 12px; margin-top: 20px; }
.lyra-d2-btn { display: block; text-align: center; padding: 14px; border-radius: 12px; border: 1px solid #3a3461; background: #221e3f; color: #f2f0fa; text-decoration: none; font-size: 16px; cursor: pointer; }
.lyra-d2-btn-main { background: #8b7fe8; border-color: #8b7fe8; color: #17142b; font-weight: bold; }
.lyra-d2-note { color: #b9b3d9; font-size: 13px; text-align: center; margin: 12px 0 0; }
.lyra-d2-back { margin-top: 16px; background: none; border: none; color: #b9b3d9; cursor: pointer; font-size: 14px; padding: 8px 0; }
