.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.home-card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px;text-decoration:none;color:inherit;transition:border-color .15s,transform .1s}.home-card:hover{border-color:var(--accent);transform:translateY(-1px)}.home-card-title{margin:0 0 8px;font-size:17px;letter-spacing:.02em}.home-card-desc{margin:0 0 12px;color:var(--muted);font-size:13px}.home-card-progress{margin:0;font-size:12px;color:var(--accent);font-weight:600}.home-card-progress.muted{color:var(--muted);font-weight:400}.lesson-list{list-style:none;margin:0;padding:0}.lesson-row{border-bottom:1px dashed var(--line)}.lesson-row:first-child{border-top:1px dashed var(--line)}.lesson-link{display:flex;align-items:center;gap:14px;padding:12px 6px;text-decoration:none;color:inherit;border-radius:6px}.lesson-link:hover{background:#f2ede4}.lesson-num{flex:0 0 auto;font:12px/1.2 ui-monospace,monospace;color:var(--muted);min-width:44px}.lesson-titles{flex:1 1 auto;display:flex;flex-direction:column;gap:2px}.lesson-title{font-size:15px;font-weight:600}.lesson-subtitle{font-size:12px;color:var(--muted)}.lesson-status{flex:0 0 auto;display:flex;gap:6px}.badge{display:inline-block;font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.badge-done{border-color:var(--accent);color:var(--accent);font-weight:600}.badge-prep{border-color:var(--warn);color:var(--warn)}.badge-todo{color:var(--muted)}.lesson-header{margin-bottom:20px}.back-link{display:inline-block;margin-bottom:8px;font-size:12px;color:var(--accent);text-decoration:none}.back-link:hover{text-decoration:underline}.lesson-h2{margin:0 0 4px;font-size:20px;letter-spacing:.02em}.lesson-sub{margin:0 0 8px;color:var(--muted);font-size:13px}.prep-note{padding:20px 0}.lesson-sections{margin-bottom:8px}.lesson-section{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px 18px;margin-bottom:14px}.section-h3{margin:0 0 8px;font-size:15px}.section-body{font-size:14px}.section-body p{margin:0 0 10px}.section-body p:last-child{margin-bottom:0}.section-body strong{color:var(--accent)}.example-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.example-box{border-left:3px solid var(--line);padding:4px 0 4px 12px}.example-en{margin:0;font:16px/1.5 Times New Roman,serif}.example-ja{margin:2px 0 0;font-size:13px;color:var(--muted)}.example-note{margin:2px 0 0;font-size:12px;color:var(--accent)}.example-diagram{margin-top:8px}.block-h3{font-size:15px;margin:24px 0 10px;padding-top:8px;border-top:1px solid var(--line)}.terms-box{background:var(--panel);border:1px solid var(--accent);border-radius:8px;padding:14px 18px;margin-bottom:18px}.terms-h3{margin:0 0 10px;font-size:13px;color:var(--accent);letter-spacing:.02em}.terms-list{margin:0;display:grid;row-gap:2px}.term-name{font-size:13px}.term-name strong{color:var(--accent)}.term-desc{margin:0 0 8px;font-size:13px;color:var(--muted)}.term-desc:last-child{margin-bottom:0}.quiz-list{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.quiz-block{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px}.quiz-block.quiz-solved{border-color:var(--accent)}.quiz-sentence{margin:0 0 8px;font:16px/1.5 Times New Roman,serif;padding:8px 10px;background:var(--bg);border-radius:6px}.quiz-prompt{margin:0 0 10px;font-size:14px}.quiz-choices{display:flex;flex-direction:column;gap:6px}.choice-btn{text-align:left;font-size:13px;padding:8px 10px;white-space:normal}.choice-btn.picked.was-correct{border-color:var(--accent);background:#f4ead9}.choice-btn.picked.was-wrong{border-color:var(--error);background:#fbeaea}.quiz-feedback{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.quiz-feedback.hidden{display:none}.quiz-verdict{margin:0 0 4px;font-weight:700;font-size:13px}.quiz-verdict.correct{color:var(--accent)}.quiz-verdict.wrong{color:var(--error)}.quiz-why{margin:0 0 8px;font-size:13px;color:var(--muted)}.quiz-explain{margin:8px 0;padding:8px 10px;background:var(--bg);border-radius:6px}.quiz-explain-label{margin:0 0 4px;font-size:11px;color:var(--muted)}.quiz-explain p{margin:0 0 6px;font-size:13px}.quiz-explain p:last-child{margin-bottom:0}.tool-link{display:inline-block;margin-top:4px;font-size:12px;color:var(--pillar);text-decoration:none}.tool-link:hover{text-decoration:underline}.qa-toolbar{margin-bottom:10px}.qa-toggle-all{font-size:12px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:inherit;cursor:pointer}.qa-toggle-all:hover{border-color:var(--accent);color:var(--accent)}.qa-list{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.qa-block{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px}.qa-question{margin:0 0 8px;font-size:14px}.qa-num{font-weight:700;color:var(--accent)}.qa-sentence{margin:0 0 10px;font:16px/1.5 Times New Roman,serif;padding:8px 10px;background:var(--bg);border-radius:6px}.qa-details{font-size:13px}.qa-summary{cursor:pointer;color:var(--accent);font-weight:600;list-style:none}.qa-summary::-webkit-details-marker{display:none}.qa-summary:before{content:"▸ "}.qa-details[open] .qa-summary:before{content:"▾ "}.qa-answer-body{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.qa-answer{margin:0 0 8px;font-size:14px}.qa-answer strong{color:var(--accent)}.qa-why p{margin:0 0 6px;font-size:13px}.qa-why p:last-child{margin-bottom:0}.qa-diagram{margin-top:8px}.sentence-diagram{cursor:default}.sentence-diagram .tok{cursor:default;pointer-events:none}.sentence-diagram .tok:hover{background:none}.sentence-diagram .arc,.sentence-diagram .phrase{cursor:default;pointer-events:none}.summary-list{font-size:14px;padding-left:20px;margin:0 0 24px}.summary-list li{margin-bottom:6px}.lesson-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px;border-top:1px solid var(--line);font-size:13px}.lesson-nav a{color:var(--accent);text-decoration:none}.lesson-nav a:hover{text-decoration:underline}.lesson-nav .disabled{color:var(--muted)}.nav-list{flex:0 0 auto}
