:root{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#263349;background:#f5f7fa}*{box-sizing:border-box}body{margin:0;line-height:1.75}.wrap{max-width:860px;margin:auto;padding:0 18px}header{background:#243e62;color:white;padding:32px 0 28px}.eyebrow{font-size:.83rem;opacity:.83}h1{font-size:clamp(1.65rem,4vw,2.4rem);line-height:1.4;margin:8px 0}h1 span{display:block;font-size:.75em}header p{margin:8px 0 0;color:#e3ecf7}main{padding-top:25px!important;padding-bottom:35px!important}.intro,.question,.finish{background:white;border:1px solid #e0e5ed;border-radius:16px;padding:22px;margin-bottom:18px;box-shadow:0 3px 12px #1c365a0a}.intro p:first-child{margin-top:0}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}select,button,textarea{font:inherit}select{padding:10px;border:1px solid #bfc9d8;border-radius:9px;background:white;max-width:100%}button{cursor:pointer;background:#245b91;color:white;border:0;border-radius:9px;padding:10px 15px;font-weight:700}button:hover{filter:brightness(.94)}button.secondary{background:#e9f0f8;color:#24496e}button.textbtn{background:transparent;color:#64748b;text-decoration:underline;padding:6px}.progress{font-weight:700}.bar{background:#e7edf3;height:9px;border-radius:30px;overflow:hidden;margin-top:6px}.bar div{height:100%;width:0;background:#2a9578;transition:width .2s}.note{color:#667589;font-size:.85rem;margin:12px 0 0}.qtop{display:flex;gap:8px;justify-content:space-between;align-items:center;color:#5a6d85;font-size:.83rem}.tag{background:#edf2f9;padding:3px 10px;border-radius:30px}.passage{background:#f2f6fb;border-left:4px solid #8daed2;border-radius:5px;padding:12px 14px;margin:12px 0;font-size:1.08rem;font-weight:700}.prompt{font-weight:700;margin:12px 0}.answerbox{width:100%;min-height:92px;resize:vertical;border:1px solid #c7d0db;border-radius:10px;padding:11px;color:#263349}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}.result{background:#f4f8f5;border:1px solid #d8e9de;border-radius:10px;padding:14px;margin-top:13px}.result strong{display:block;color:#1d654e}.result p{margin:5px 0}.mark{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.mark button{font-size:.9rem;padding:8px 12px}.mark button.good{background:#e1f3e9;color:#196246}.mark button.bad{background:#fff0e4;color:#a45018}.mark button.active{outline:3px solid #334b69;outline-offset:1px}.status{font-size:.85rem;color:#52667d}.finish{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px}.finish a{color:#245b91}footer{text-align:center;color:#7a8798;font-size:.8rem;padding:18px}.empty{padding:32px;text-align:center;background:white;border-radius:12px}@media(max-width:560px){header{padding:24px 0}.intro,.question,.finish{padding:16px}.toolbar{align-items:stretch}.toolbar label{width:100%}.toolbar select{flex:1}.actions button{width:100%}}