

/* Article rebuild scope: article body only. Site shell/background/header/docks remain original. */
.rebuild-editorial{background:transparent!important;box-shadow:none!important}
.rebuild-editorial .rebuild-prose{max-width:900px;color:var(--ink);font-size:16px;line-height:1.95;letter-spacing:.005em;line-break:strict;word-break:normal;overflow-wrap:break-word}
.rebuild-editorial .rebuild-prose p{margin:0 0 15px}
.rebuild-editorial .rebuild-prose h3{margin:28px 0 9px;color:var(--ink);font-size:18px;line-height:1.55;font-weight:800;letter-spacing:.01em}
.rebuild-editorial .rebuild-prose h3:first-child{margin-top:0}
.rebuild-editorial .rebuild-key{margin:18px 0 20px;padding:11px 0 11px 16px;border-left:3px solid var(--accent);color:var(--ink);font-size:18px;line-height:1.8;font-weight:760}
.rebuild-editorial .rebuild-quick{margin-top:19px;padding-top:14px;border-top:1px solid var(--line);color:var(--ink);font-weight:650}
.rebuild-editorial .rebuild-rule{margin:0 0 18px;color:var(--ink);font-size:19px;line-height:1.75;font-weight:780;line-break:strict}
.rebuild-editorial table{width:100%;border-collapse:collapse;table-layout:auto;background:transparent!important;color:var(--ink)}
.rebuild-editorial th,.rebuild-editorial td{padding:12px 11px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;background:transparent!important;line-height:1.75;line-break:strict;word-break:normal;overflow-wrap:break-word}
.rebuild-editorial th{border-top:1px solid var(--line-strong);color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.04em}
.rebuild-editorial td:first-child{font-weight:750;color:var(--ink)}
.rebuild-editorial .rebuild-jp{font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;color:var(--ink);line-height:2}
.rebuild-editorial .grammar{color:var(--accent);font-weight:800}
.rebuild-editorial .rebuild-usage-list{margin-top:5px;border-top:1px solid var(--line-strong)}
.rebuild-editorial .rebuild-usage-item{padding:25px 0 27px;border-bottom:1px solid var(--line);background:transparent!important}
.rebuild-editorial .rebuild-usage-item:last-child{border-bottom:0;padding-bottom:0}
.rebuild-editorial .rebuild-usage-label{display:block;margin-bottom:7px;color:var(--accent);font-size:11px;font-weight:850;letter-spacing:.08em}
.rebuild-editorial .rebuild-usage-item h3{margin:0 0 8px;font-size:19px;line-height:1.55}
.rebuild-editorial .rebuild-usage-item p{margin:0 0 11px;color:var(--ink);line-height:1.85}
.rebuild-editorial .rebuild-usage-example{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);font-size:18px;line-height:2}
.rebuild-editorial .rebuild-usage-translation{margin-top:3px;color:var(--muted);font-size:14px;line-height:1.75}
.rebuild-editorial .rebuild-examples{border-top:1px solid var(--line-strong)}
.rebuild-editorial .rebuild-example{padding:23px 0 25px;border-bottom:1px solid var(--line);background:transparent!important;box-shadow:none!important;border-radius:0!important}
.rebuild-editorial .rebuild-example:last-child{padding-bottom:0;border-bottom:0}
.rebuild-editorial .rebuild-example-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.rebuild-editorial .rebuild-example-label{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.07em}
.rebuild-editorial .rebuild-example-actions{display:flex;gap:4px;flex:0 0 auto}
.rebuild-editorial .rebuild-example-actions button{min-width:38px;min-height:36px;padding:4px 7px;border:0;background:transparent!important;color:var(--accent);box-shadow:none!important}
.rebuild-editorial .rebuild-example-jp{margin:0;color:var(--ink);font-size:20px;line-height:2;line-break:strict;word-break:normal}
.rebuild-editorial .rebuild-translation{margin:7px 0 0;color:var(--muted);font-size:14px;line-height:1.75}
.rebuild-editorial .rebuild-note{margin:20px 0 0;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);font-weight:650;line-height:1.8}
.rebuild-editorial .rebuild-compare td:nth-child(1){width:175px;font-family:"Noto Sans JP","Yu Gothic",sans-serif}
.rebuild-editorial .rebuild-compare td:nth-child(2){width:145px;color:var(--accent);font-weight:700}
.rebuild-editorial .rebuild-compare tr.current td{border-top:2px solid var(--accent);border-bottom:2px solid var(--accent)}
.rebuild-related{background:transparent!important;box-shadow:none!important}
.rebuild-related .related-intro{margin-bottom:10px;color:var(--muted)}
.rebuild-related ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.rebuild-related li{padding:13px 0;border-bottom:1px solid var(--line);color:var(--ink);line-height:1.7}
.rebuild-related strong{font-family:"Noto Sans JP","Yu Gothic",sans-serif}
.rebuild-quiz{background:transparent!important;box-shadow:none!important}
.rebuild-quiz .quiz-editorial{max-width:880px;border-top:1px solid var(--line-strong);padding-top:18px}
.rebuild-quiz .quiz-status{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px;color:var(--muted);font-size:12px;font-weight:750}
.rebuild-quiz .quiz-question{min-height:76px;margin:0 0 18px;color:var(--ink);font-size:20px;line-height:1.9;text-align:left}
.rebuild-quiz .quiz-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.rebuild-quiz .quiz-btn{min-height:58px;padding:10px 8px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent!important;color:var(--ink);font:inherit;font-size:13px;font-weight:750;cursor:pointer;border-radius:0!important;box-shadow:none!important}
.rebuild-quiz .quiz-btn:hover,.rebuild-quiz .quiz-btn:focus-visible{background:var(--accent-soft)!important;color:var(--accent);outline:2px solid var(--accent);outline-offset:-2px}
.rebuild-quiz .quiz-btn:disabled{opacity:.55;cursor:default}
.rebuild-quiz .quiz-feedback{margin-top:20px;padding:16px 0;border-top:1px solid var(--line);color:var(--ink);line-height:1.85}
.rebuild-quiz .quiz-feedback[hidden]{display:none!important}
.rebuild-quiz .quiz-result-title{font-weight:850;color:var(--accent)}
.rebuild-quiz .quiz-next{margin-top:13px;min-height:40px;padding:7px 16px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);font-weight:750;cursor:pointer}
html[data-theme="dark"] .rebuild-editorial .rebuild-prose,
html[data-theme="dark"] .rebuild-editorial .rebuild-prose h3,
html[data-theme="dark"] .rebuild-editorial .rebuild-key,
html[data-theme="dark"] .rebuild-editorial .rebuild-quick,
html[data-theme="dark"] .rebuild-editorial .rebuild-rule,
html[data-theme="dark"] .rebuild-editorial td,
html[data-theme="dark"] .rebuild-editorial .rebuild-usage-item p,
html[data-theme="dark"] .rebuild-editorial .rebuild-example-jp,
html[data-theme="dark"] .rebuild-editorial .rebuild-note,
html[data-theme="dark"] .rebuild-related li,
html[data-theme="dark"] .rebuild-quiz .quiz-question,
html[data-theme="dark"] .rebuild-quiz .quiz-btn,
html[data-theme="dark"] .rebuild-quiz .quiz-feedback{color:var(--ink)!important}
html[data-theme="dark"] .rebuild-editorial .rebuild-usage-translation,
html[data-theme="dark"] .rebuild-editorial .rebuild-translation,
html[data-theme="dark"] .rebuild-editorial th,
html[data-theme="dark"] .rebuild-related .related-intro,
html[data-theme="dark"] .rebuild-quiz .quiz-status{color:var(--muted)!important}

/* Confirmed dark-mode readability for the article header controls. */
html[data-theme="dark"] .article-head .n2-voice-setting label{color:var(--muted)!important}
html[data-theme="dark"] .article-head .n2-voice-select{color:var(--ink)!important;background:transparent!important;border-color:var(--line-strong)!important}
html[data-theme="dark"] .article-head .n2-voice-select option{color:var(--ink)!important;background:#121817!important}
/* Explicitly requested mobile header-control behavior: voice + furigana on one row, metadata below. */
@media(max-width:430px){
  .article-head .center-compact-row{padding-left:8px!important;padding-right:8px!important}
  .article-head .center-compact-row > .context-info{width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;column-gap:8px!important;row-gap:8px!important}
  .article-head .center-compact-row .n2-voice-setting{order:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-width:154px!important;white-space:nowrap!important;font-size:12px!important;gap:5px!important}
  .article-head .center-compact-row .n2-voice-select{width:100px!important;min-width:100px!important;max-width:100px!important;height:38px!important;padding-left:6px!important;padding-right:18px!important;font-size:12px!important}
  .article-head .center-compact-row .content-inline-action{order:2!important;flex:0 0 auto!important;min-width:94px!important;min-height:38px!important;padding:6px 9px!important;white-space:nowrap!important;font-size:12px!important}
  .article-head .center-compact-row .context-meta-group{order:3!important;flex:0 0 100%!important;width:100%!important;justify-content:center!important;margin-top:1px!important;font-size:12px!important;gap:5px 9px!important}
  .rebuild-editorial .rebuild-prose{font-size:15px;line-height:1.9}
  .rebuild-editorial .rebuild-key{font-size:17px;padding-left:12px}
  .rebuild-editorial .rebuild-rule{font-size:17px}
  .rebuild-editorial .rebuild-example-jp,.rebuild-editorial .rebuild-usage-example{font-size:18px;line-height:2}
  .rebuild-editorial .rebuild-example-head{align-items:flex-start}
  .rebuild-editorial table,.rebuild-editorial tbody,.rebuild-editorial tr,.rebuild-editorial td{display:block;width:100%!important}
  .rebuild-editorial thead{display:none}
  .rebuild-editorial tr{padding:13px 0;border-bottom:1px solid var(--line)}
  .rebuild-editorial tr:first-child{border-top:1px solid var(--line-strong)}
  .rebuild-editorial td{padding:3px 0;border:0!important}
  .rebuild-editorial .rebuild-form-table td:nth-child(2)::before{content:"用法：";color:var(--muted);font-size:11px;font-weight:800}
  .rebuild-editorial .rebuild-form-table td:nth-child(3)::before{content:"例：";color:var(--muted);font-size:11px;font-weight:800}
  .rebuild-editorial .rebuild-compare td:nth-child(2)::before{content:"重點：";color:var(--muted);font-size:11px;font-weight:800}
  .rebuild-editorial .rebuild-compare td:nth-child(3)::before{content:"判斷：";color:var(--muted);font-size:11px;font-weight:800}
  .rebuild-editorial .rebuild-compare tr.current{border-top:2px solid var(--accent);border-bottom:2px solid var(--accent)}
  .rebuild-quiz .quiz-options{grid-template-columns:1fr 1fr}
  .rebuild-quiz .quiz-btn{min-height:52px}
  .rebuild-quiz .quiz-question{font-size:18px;line-height:1.9}
}
@media(min-width:431px) and (max-width:900px){
  .rebuild-editorial .rebuild-prose{font-size:16px}
  .rebuild-editorial .rebuild-compare td:nth-child(1){width:155px}
  .rebuild-editorial .rebuild-compare td:nth-child(2){width:125px}
  .rebuild-quiz .quiz-options{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* User-confirmed mobile sticky grammar title alignment. */
@media(max-width:430px){
  #grammar-identity .grammar-id-copy{align-items:center!important;text-align:center!important}
  #grammar-identity .grammar-id-name,#grammar-identity .grammar-id-meaning{display:block;width:100%;text-align:center!important}
}
/* User-confirmed article-section breathing room. */
.section.rebuild-editorial,.section.rebuild-quiz{
  padding-left:clamp(18px,3.5vw,40px)!important;
  padding-right:clamp(18px,3.5vw,40px)!important;
}

/* bounded v2: user-approved mobile title alignment + editorial Japanese-choice practice */
@media(max-width:430px){
  .article-head .eyebrow,
  .article-head h1,
  .article-head .meaning{
    text-align:center!important;
  }
}
.rebuild-quiz .quiz-intro{
  margin:0 0 16px;
  color:var(--muted);
  line-height:1.75;
  font-size:14px;
}
.rebuild-quiz .quiz-options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  border-top:1px solid var(--line)!important;
  border-left:0!important;
}
.rebuild-quiz .quiz-btn{
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 14px!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-right:1px solid var(--line)!important;
  background:transparent!important;
  color:var(--ink)!important;
  text-align:left!important;
  font-size:16px!important;
  line-height:1.5!important;
  cursor:pointer;
}
.rebuild-quiz .quiz-btn:nth-child(even){border-right:0!important}
.rebuild-quiz .quiz-btn:hover:not(:disabled),
.rebuild-quiz .quiz-btn:focus-visible{
  background:var(--paper-soft)!important;
}
.rebuild-quiz .quiz-btn.is-correct{
  color:var(--accent)!important;
  font-weight:800!important;
}
.rebuild-quiz .quiz-btn.is-wrong{
  color:#8a3c36!important;
}
html[data-theme="dark"] .rebuild-quiz .quiz-btn.is-wrong{color:#e3a39d!important}
.rebuild-quiz .quiz-choice-key{
  flex:0 0 22px;
  color:var(--accent);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.rebuild-quiz .quiz-choice-text{min-width:0;overflow-wrap:anywhere}
.rebuild-quiz .quiz-dialogue-label{
  display:inline-block;
  margin-right:.35em;
  color:var(--accent);
  font-weight:800;
}
@media(max-width:430px){
  .rebuild-quiz .quiz-options{grid-template-columns:1fr!important}
  .rebuild-quiz .quiz-btn{
    min-height:52px!important;
    border-right:0!important;
    font-size:15px!important;
  }
  .rebuild-quiz .quiz-question{font-size:18px!important;line-height:1.9!important}
}

/* bounded v3: centered questions + full answer analysis */
.rebuild-quiz .quiz-question{
  width:min(100%,760px)!important;
  margin:0 auto 18px!important;
  text-align:center!important;
}
.rebuild-quiz .quiz-analysis{
  margin-top:4px;
  border-top:1px solid var(--line);
}
.rebuild-quiz .quiz-analysis-row{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:14px;
  padding:9px 0;
  border-bottom:1px solid var(--line);
}
.rebuild-quiz .quiz-analysis-label{
  color:var(--muted);
  font-size:11px;
  font-weight:850;
  letter-spacing:.04em;
}
.rebuild-quiz .quiz-analysis-value{
  min-width:0;
  color:var(--ink);
  line-height:1.75;
}
.rebuild-quiz .quiz-analysis-other{
  margin:0;
  padding-left:1.15em;
}
.rebuild-quiz .quiz-analysis-other li + li{margin-top:5px}
@media(max-width:430px){
  .rebuild-quiz .quiz-analysis-row{
    grid-template-columns:1fr;
    gap:3px;
    padding:10px 0;
  }
  .rebuild-quiz .quiz-analysis-label{font-size:10px}
}


/* User-confirmed quiz navigation behavior: next/restart actions align right. */
.rebuild-quiz #next-btn,.rebuild-quiz #restart-btn{display:block;margin:13px 0 0 auto}
.rebuild-quiz #next-btn[hidden],.rebuild-quiz #restart-btn[hidden]{display:none!important}
/* Mobile question return target must clear the fixed grammar identity bar. */
@media(max-width:700px){.rebuild-quiz .quiz-question{scroll-margin-top:72px}}
