.music-main{padding-top:24px;padding-bottom:36px}.music-main h1{font-size:clamp(28px,3vw,40px);margin:8px 0}.music-main h2{font-size:25px}.music-main p{margin:12px 0}.music-note{color:#655638;font-size:16px}.music-box{background:#fff;border:1px solid #deded5;border-radius:12px;padding:28px;margin:20px 0}.music-facts{display:flex;flex-wrap:wrap;gap:12px 24px;padding:0;list-style:none}.music-facts li{font-weight:700}.music-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.music-layout .music-box{margin:0}.music-progress{margin:20px 0}.music-progress progress{width:100%;height:14px;accent-color:#9a662a}.music-status{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-weight:700;font-size:18px}.music-question{min-width:0}.music-question fieldset{padding:0;margin:0;border:0;min-width:0}.music-question legend{font-size:22px;font-weight:700;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:24px;width:100%}.music-option{display:flex;gap:12px;align-items:flex-start;padding:14px;margin:12px 0;border:2px solid #deded5;border-radius:8px;cursor:pointer;font-size:18px;line-height:1.6;overflow-wrap:anywhere}.music-option:has(input:checked){border-color:#9a662a;background:#fff8e9}.music-option:focus-within{outline:3px solid #ad7025;outline-offset:3px}.music-option input{margin:7px 0 0;flex:0 0 20px;width:20px;height:20px;accent-color:#142d43}.music-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.music-main button,.music-dialog button{min-height:48px;padding:10px 18px;font-size:18px;font-weight:700;border:1px solid #142d43;border-radius:7px;background:#142d43;color:white;cursor:pointer}.music-main button.secondary,.music-dialog button.secondary{background:#fff;color:#142d43}.music-main button:disabled{opacity:.5;cursor:default}.music-main button:focus-visible,.music-dialog button:focus-visible{outline:3px solid #ad7025;outline-offset:3px}.music-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.music-grid button{padding:7px 0;min-height:48px;background:#fff;color:#142d43;border-color:#babdbb;position:relative}.music-grid button.answered{background:#eee7d8;border-color:#8a6638}.music-grid button.current{outline:3px solid #142d43;outline-offset:1px}.music-grid button span{font-size:12px;display:block;line-height:1.1}.music-legend{font-size:15px;line-height:1.8}.music-error{color:#88251b;background:#fff2ec;padding:16px;border-radius:7px}.music-error[hidden],.music-main [hidden]{display:none}.music-review-list{display:flex;gap:8px;flex-wrap:wrap}.music-review-list button{background:white;color:#142d43;min-width:48px}.music-dialog{max-width:520px;width:calc(100% - 36px);padding:28px;border:1px solid #deded5;border-radius:12px;color:#142d43;background:#faf9f5;box-sizing:border-box;font-size:18px}.music-dialog::backdrop{background:rgb(10 25 40 / .55)}.music-dialog h2{font-size:24px;margin-top:0}.music-dialog p{line-height:1.8}.music-loading{padding:24px 0;font-weight:700}.music-main a{overflow-wrap:anywhere}.music-storage-warning{padding:12px;border:1px solid #9a662a;background:#fff8e9;font-size:16px}
@media(max-width:900px){.music-layout{grid-template-columns:1fr}.music-grid{grid-template-columns:repeat(10,minmax(0,1fr))}.music-main .music-box{padding:22px}.music-grid button{min-width:0}.music-main{font-size:18px}}
@media(max-width:620px){.music-main .music-box{padding:18px}.music-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.music-question legend{font-size:20px}.music-actions button{flex:1 1 auto}.nav{flex-wrap:wrap;gap:8px}.nav nav{width:100%;justify-content:space-between}.nav nav a{min-width:0;min-height:44px;padding:8px}.music-status{font-size:18px}.music-option{padding:12px}.music-main .music-note{font-size:16px}}
.music-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.music-result-score{font-size:42px;font-weight:700;color:#9a662a}.music-main #part-results p{border-bottom:1px solid #deded5;padding:8px 0;font-size:20px}.music-main #save-status{font-size:16px}
.music-option span{word-break:keep-all}
@media(min-width:901px){.music-layout{grid-template-columns:minmax(0,1fr) 320px}}
@media(prefers-reduced-motion:reduce){.music-main *{scroll-behavior:auto;transition:none}}
:root{--music-analysis-line:#d8d2c5}
.music-part{display:grid;grid-template-columns:1fr auto;gap:8px;margin:18px 0}.music-part p{margin:0}.music-part meter{grid-column:1/-1;width:100%;height:18px;accent-color:#97703a}
.music-part meter::-webkit-meter-optimum-value{background:#97703a}.music-part meter::-moz-meter-bar{background:#97703a}
.music-analysis-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.music-analysis-card{border:1px solid var(--music-analysis-line);border-radius:12px;padding:20px;margin:14px 0;background:#faf8f2;overflow-wrap:anywhere}.music-analysis-card h4{font-size:20px;margin:10px 0}.music-evidence{font-size:16px;line-height:1.7}.music-step{font-weight:700;color:#765221}
.music-recommendations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.music-recommendations button{font-size:15px;padding:12px}.music-competencies li{margin:18px 0;border-bottom:1px solid var(--music-analysis-line);padding-bottom:12px}.music-competencies p{margin:6px 0}.music-history li{margin:16px 0}.music-history p{font-size:16px;line-height:1.7}.music-change{font-size:24px;font-weight:700}#analysis-content details{border-top:1px solid var(--music-analysis-line);padding:18px 0;margin:16px 0}#analysis-content summary{cursor:pointer;font-size:20px;min-height:44px;font-weight:700}#analysis-content a:focus-visible,#analysis-content summary:focus-visible{outline:3px solid #987537;outline-offset:4px}#analysis-content section{margin:24px 0}#analysis-content ul,#analysis-content ol{padding-left:24px}#analysis-content button:disabled{opacity:1;color:#5f5a50;background:#eeeae1}#analysis-content{overflow-wrap:anywhere}
@media(max-width:900px){.music-recommendations{grid-template-columns:1fr}}
@media(max-width:650px){.music-analysis-pair{grid-template-columns:1fr;gap:0}.music-part{grid-template-columns:1fr}.music-part meter{grid-column:1}.music-analysis-card{padding:16px}}
