:root{color-scheme:light dark;--bg:#fff;--fg:#1b1b1f;--muted:#5b5f6b;--line:#e2e4ea;--accent:#1d4ed8;--bg-sub:#f7f8fa;--accent-bg:#eef3fe;--ok:#1a7f4b;--ok-bg:#eaf6ef;--ng:#b23c3c;--ng-bg:#fbeeee;--max:52rem}@media (prefers-color-scheme:dark){:root{--bg:#16171b;--fg:#e8e9ed;--muted:#a0a4b0;--line:#2c2e36;--accent:#8ab0ff;--bg-sub:#1b1d22;--accent-bg:#1a2436;--ok:#5cc98a;--ok-bg:#17301f;--ng:#ef8a8a;--ng-bg:#33201f}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--fg);flex-direction:column;min-height:100vh;margin:0;font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;line-height:1.8;display:flex}main{width:100%;max-width:var(--max);flex:1;margin:0 auto;padding:2rem 1.25rem 4rem}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.site-header-inner{max-width:var(--max);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:.9rem 1.25rem;display:flex}.site-name{color:var(--fg);font-size:1.05rem;font-weight:700;text-decoration:none}.site-header nav{gap:1rem;font-size:.9rem;display:flex}.site-header nav a{color:var(--muted);text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--accent)}.site-footer{border-top:1px solid var(--line);background:var(--bg-sub)}.site-footer-inner{max-width:var(--max);color:var(--muted);margin:0 auto;padding:2rem 1.25rem 3rem;font-size:.85rem}.site-footer nav{flex-wrap:wrap;gap:1.25rem;margin-bottom:1.25rem;display:flex}.site-notes{gap:.5rem;margin:0;padding:0;line-height:1.7;list-style:none;display:grid}.site-copyright{margin:1.5rem 0 0}a{color:var(--accent)}h1{font-size:1.6rem;line-height:1.4}h2{border-bottom:1px solid var(--line);margin-top:2.5rem;padding-bottom:.4rem;font-size:1.25rem}h3{color:var(--muted);margin-top:1.75rem;font-size:1.05rem}.lead{color:var(--muted)}.category-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.category-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.4rem 0;display:flex}.count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.hero{border-bottom:1px solid var(--line);padding:1rem 0 2.5rem}.hero h1{margin:0 0 1rem;font-size:1.75rem;line-height:1.5}.hero-lead{margin:0;font-size:1.05rem}.hero-actions .primary-button{margin-top:1.75rem}.hero-note{color:var(--muted);margin:.75rem 0 0;font-size:.85rem}.resume{border:1px solid var(--accent);background:var(--accent-bg);border-radius:.75rem;margin:2rem 0 0;padding:1.25rem}.resume-text{margin:0;font-weight:600}.resume .primary-button{margin-top:1rem}.feature-list{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.feature-list li{border-left:3px solid var(--accent);gap:.3rem;padding-left:1rem;display:grid}.feature-list b{font-size:1.02rem}.quiz-links{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.quiz-links a{border:1px solid var(--line);color:inherit;border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;padding:.9rem 1rem;text-decoration:none;display:flex}.quiz-links a:hover{border-color:var(--accent)}.quiz-link-name{color:var(--accent);font-weight:700}.quiz-link-meta{color:var(--muted);font-size:.85rem}.exam-cards{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=40rem){.exam-cards{grid-template-columns:repeat(2,1fr)}}.exam-cards .is-planned{border:1px dashed var(--line);background:var(--bg-sub);color:var(--muted);border-radius:.75rem;padding:1.1rem}.exam-card-head{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0 0 .4rem;display:flex}.exam-card-name{color:var(--fg);font-weight:700}.exam-card-badge{background:var(--line);color:var(--muted);letter-spacing:.04em;white-space:nowrap;border-radius:999px;flex:none;padding:.1rem .55rem;font-size:.7rem;font-weight:700}.exam-card-note{margin:0;font-size:.9rem;line-height:1.7}.field-cards{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=40rem){.field-cards{grid-template-columns:repeat(3,1fr)}}.field-cards a,.field-cards .is-empty{border:1px solid var(--line);height:100%;color:inherit;border-radius:.75rem;gap:.3rem;padding:1.1rem;text-decoration:none;display:grid}.field-cards a:hover{border-color:var(--accent)}.field-cards .is-empty{color:var(--muted);background:var(--bg-sub)}.field-card-name{font-weight:700}.field-cards a .field-card-name{color:var(--accent)}.field-card-meta{color:var(--muted);font-size:.85rem}.field-card-count{font-variant-numeric:tabular-nums;margin-top:.2rem;font-size:.9rem}.stats{border:1px solid var(--line);border-radius:.5rem;flex-wrap:wrap;gap:1.5rem;margin:1.5rem 0 0;padding:1rem 1.25rem;display:flex}.stats>div{gap:.15rem;display:grid}.stats dt{color:var(--muted);font-size:.8rem}.stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.1rem;font-weight:700}.primary-button,.secondary-button{width:100%;font:inherit;text-align:center;cursor:pointer;border:1px solid #0000;border-radius:.5rem;margin:1.5rem 0 0;padding:.9rem 1rem;font-weight:700;text-decoration:none;display:block}.primary-button{background:var(--accent);color:var(--bg)}.secondary-button{border-color:var(--line);color:var(--accent);background:0 0}.secondary-button:hover{border-color:var(--accent)}.notice{border:1px solid var(--line);color:var(--muted);border-radius:.5rem;margin:1.5rem 0 0;padding:.9rem 1rem;font-size:.9rem}.quiz-progress{gap:.4rem;margin:0 0 1.5rem;display:grid}.quiz-progress-text{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.quiz-progress-bar{background:var(--line);border-radius:999px;height:4px;display:block;overflow:hidden}.quiz-progress-fill{background:var(--accent);border-radius:999px;width:0;height:100%;display:block}.result-score{border:1px solid var(--line);text-align:center;border-radius:.75rem;margin:0 0 2rem;padding:1.5rem}.result-score.is-perfect{border-color:var(--ok);background:var(--ok-bg)}.result-score-main{font-variant-numeric:tabular-nums;margin:0;font-size:1.3rem;font-weight:700}.result-score-main b{color:var(--accent);font-size:2.4rem}.result-score.is-perfect .result-score-main b{color:var(--ok)}.result-score-sub{color:var(--muted);justify-content:center;gap:1rem;margin:.25rem 0 0;font-size:.9rem;display:flex}.review-list{gap:.75rem;display:grid}.review-item{border:1px solid var(--line);border-left:4px solid var(--ng);border-radius:.5rem;padding:.9rem 1rem}.review-item summary{cursor:pointer;gap:.6rem;font-weight:600;display:flex}.review-mark{color:var(--ng);flex:none;font-weight:700}.review-choices{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.review-choices li{border-left:3px solid var(--line);padding-left:.75rem}.review-choices .is-correct{border-left-color:var(--ok)}.review-choice-head{gap:.6rem;margin:0 0 .2rem;font-weight:600;display:flex}.review-choice-body{color:var(--muted);margin:0;font-size:.95rem}.review-link{margin-top:1rem;font-size:.9rem;display:inline-block}.field-bars{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.field-bars li{grid-template-columns:1fr auto;gap:.3rem 1rem;display:grid}.field-bars .is-current .field-bar-label{font-weight:700}.field-bar-label{font-size:.9rem}.field-bar-track{background:var(--line);border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.field-bar-fill{background:var(--accent);border-radius:999px;width:0;height:100%;display:block}.legal h2{margin-top:2.5rem;font-size:1.1rem}.legal p{margin:0 0 1rem}.legal ul{gap:.4rem;margin:0 0 1.25rem;padding-left:1.5rem;display:grid}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem;padding:0;font-size:.85rem;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";color:var(--line);margin-right:.5rem}.question-meta{color:var(--muted);flex-wrap:wrap;gap:.75rem;margin:0;font-size:.85rem;display:flex}.difficulty{letter-spacing:.1em}.question-text{white-space:pre-wrap;margin:.75rem 0 1.5rem;font-size:1.2rem;font-weight:600;line-height:1.8}.choices{gap:.6rem;margin:0 0 2rem;padding:0;list-style:none;display:grid}.choice{border:1px solid var(--line);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:.5rem;gap:.75rem;padding:.9rem 1rem;line-height:1.7;display:flex}.choice:hover:not(:disabled){border-color:var(--accent)}.choice:disabled{cursor:default;opacity:.85}.choice-label{color:var(--muted);flex:none;font-weight:700}.choice-text{flex:1}.choice-mark{flex:none;font-weight:700;line-height:1}.choice.is-answer{border-color:var(--ok);background:var(--ok-bg);opacity:1}.choice.is-answer .choice-mark{color:var(--ok)}.choice.is-wrong{border-color:var(--ng);background:var(--ng-bg);opacity:1}.choice.is-wrong .choice-mark{color:var(--ng)}.choice.is-chosen{border-width:2px}.explanation{border-top:2px solid var(--line);padding-top:1.5rem}.js .explanation:not(.is-revealed){visibility:hidden;border-top-width:0;height:0;margin:0;padding:0;overflow:hidden}.verdict{border-radius:.5rem;margin:0 0 1rem;padding:.75rem 1rem;font-weight:700}.verdict.is-correct{background:var(--ok-bg);color:var(--ok)}.verdict.is-wrong{background:var(--ng-bg);color:var(--ng)}.answer{margin:0 0 1.25rem;font-size:1.1rem}.answer b{color:var(--accent);font-size:1.3rem}.choice-comments{gap:1rem;margin:0 0 2rem;padding:0;list-style:none;display:grid}.choice-comments li{border:1px solid var(--line);border-left-width:4px;border-radius:.5rem;padding:.9rem 1rem}.choice-comments .is-correct{border-left-color:var(--ok)}.choice-comments .is-wrong{border-left-color:var(--ng)}.choice-comments .is-chosen{border-color:var(--accent);border-left-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.choice-comments .is-chosen .choice-comment-head:after{content:"あなたの解答";background:var(--accent);color:var(--bg);white-space:nowrap;border-radius:999px;flex:none;margin-left:auto;padding:.1rem .5rem;font-size:.75rem;font-weight:700}.choice-comment-head{gap:.75rem;margin:0 0 .4rem;font-weight:600;display:flex}.choice-comment-body{color:var(--muted);margin:0}.explanation-body table{border-collapse:collapse;width:100%;margin:1rem 0}.explanation-body th,.explanation-body td{border:1px solid var(--line);text-align:left;padding:.5rem .75rem}.question-list{gap:.75rem;margin:0;padding-left:1.5rem;display:grid}.question-list li{border-bottom:1px solid var(--line);padding-bottom:.75rem}.question-list .count{font-size:.85rem;display:block}.question-footer{color:var(--muted);margin-top:2.5rem;font-size:.9rem}.next-bar{padding:.75rem 1.25rem calc(.75rem + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);margin:2rem -1.25rem 0;position:sticky;bottom:0}.next-button{background:var(--accent);color:var(--bg);text-align:center;border-radius:.5rem;padding:.9rem 1rem;font-weight:700;text-decoration:none;display:block}
