:root{--color-text:#1f2328;--color-muted:#57606a;--color-subtle:#6e7781;--color-border:#d0d7de;--color-surface:#f6f8fa;--color-background:#fff;--color-accent:#0969da;--color-accent-surface:#ddf4ff;--color-success:#1a7f37;--color-success-strong:#1f883d;--color-success-surface:#dafbe1;--color-danger:#cf222e;--color-danger-surface:#ffebe9;--color-neutral-strong:#6e7781;--radius:8px;--radius-small:6px;--tap-size:44px;color:var(--color-text);background-color:var(--color-background);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.6}*,:before,:after{box-sizing:border-box}body{overflow-wrap:anywhere;margin:0}main{max-width:960px;margin:0 auto;padding:24px 16px 32px}h1{margin:0 0 12px;font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);line-height:1.3}h2{line-height:1.35}p{margin:0 0 12px}a{color:var(--color-accent);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}fieldset{min-width:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button.primary,button.secondary{min-height:var(--tap-size);border-radius:var(--radius-small);font:inherit;cursor:pointer;padding:8px 24px;font-weight:700}button.primary{border:1px solid var(--color-success-strong);background:var(--color-success-strong);color:#fff}button.primary:hover:not(:disabled){background:var(--color-success)}button.secondary{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}button.secondary:hover:not(:disabled){background:#eaeef2}button.primary:disabled{cursor:not-allowed;background:#8c959f;border-color:#8c959f}button.secondary:disabled{cursor:not-allowed;opacity:.5}.link-button{min-height:var(--tap-size);border:1px solid var(--color-success-strong);border-radius:var(--radius-small);background:var(--color-success-strong);color:#fff;justify-content:center;align-items:center;padding:8px 24px;font-weight:700;text-decoration:none;display:inline-flex}.link-button:hover{background:var(--color-success);color:#fff}.shared-result-brand{color:var(--color-accent);margin:0 0 4px;font-weight:700}.shared-result-label{letter-spacing:.06em;border:2px solid;border-radius:999px;margin:0 0 16px;padding:4px 16px;font-size:1.25rem;font-weight:800;display:inline-block}.shared-result-passed{color:#1a7f37;background:#dafbe1;border-color:#1f883d}.shared-result-not-passed{color:#7d4e00;background:#fff8c5;border-color:#d4a72c}.shared-result-image{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:720px;height:auto;margin:0 0 16px;display:block}.shared-result-note{color:var(--color-muted);font-size:.9rem}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-content{flex:1 0 auto}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.875rem}.site-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 24px;max-width:960px;margin:0 auto;padding:12px 16px 16px;display:flex}.site-footer-text{flex-wrap:wrap;gap:0 16px;margin:0;display:flex}.site-footer-links{flex-wrap:wrap;gap:0 20px;display:flex}.site-footer-links a{min-height:var(--tap-size);color:var(--color-muted);align-items:center;display:inline-flex}.exam-change-note{color:var(--color-muted);margin:24px 0 0;font-size:.85rem}.policy{line-height:1.65}.policy h1+.policy-updated{margin-top:-4px}.policy h2{margin:28px 0 8px;font-size:1.2rem}.policy p,.policy ul{max-width:44rem}.policy ul{margin:0 0 12px;padding-left:1.4em}.policy li+li{margin-top:6px}.policy-updated{color:var(--color-muted);font-size:.9rem}.license-table{border-collapse:collapse;width:100%;max-width:44rem;margin:0 0 16px;font-size:.95rem}.license-table th,.license-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:6px 8px}.license-entry{margin:24px 0 0}.license-entry h3{overflow-wrap:anywhere;margin:0 0 4px;font-size:1.05rem}.license-entry h4{margin:12px 0 4px;font-size:.95rem}.license-meta{color:var(--color-muted);font-size:.9rem}.license-text{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);white-space:pre-wrap;overflow-wrap:anywhere;max-width:44rem;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.8rem;line-height:1.5}.policy-related{margin-top:32px}.share{border-top:1px solid var(--color-border);margin-top:32px;padding-top:16px}.share-title{margin:0 0 12px;font-size:1.1rem}.share-buttons{flex-wrap:wrap;gap:12px;display:flex}.share-button{min-height:var(--tap-size);border-radius:var(--radius-small);font:inherit;color:#fff;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.share-icon-button{width:var(--tap-size);height:var(--tap-size);padding:0}.share-icon{flex:none;width:auto;height:24px}.share-x{background:#000}.share-facebook{background:#0866ff}.share-icon-button:hover{box-shadow:0 0 0 3px var(--color-border)}.share-button:focus-visible{outline-offset:3px}.share-note{color:var(--color-muted);margin:8px 0 0;font-size:.9rem}.actions{flex-wrap:wrap;align-items:center;gap:12px 20px;margin:16px 0 24px;display:flex}.actions a{min-height:var(--tap-size);align-items:center;display:inline-flex}.notice{border:1px solid var(--color-danger);border-radius:var(--radius-small);background:var(--color-danger-surface);border-left-width:4px;margin:0 0 16px;padding:12px 16px}.notice p:last-child{margin-bottom:0}.notice-subject{font-weight:700}.badge{color:#fff;border-radius:999px;padding:0 8px;font-size:.85rem;display:inline-block}.badge-ja{background:#bf3989}.badge-en{background:var(--color-accent)}.lead{max-width:40rem;color:var(--color-muted)}.section-title{margin:24px 0 8px;font-size:1.25rem}.tabs{border-bottom:1px solid var(--color-border);gap:4px;margin-bottom:16px;display:flex}.tab{min-height:var(--tap-size);border-radius:var(--radius-small) var(--radius-small) 0 0;color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;padding:8px 16px}.tab:hover{color:var(--color-text)}.tab[aria-selected=true]{border-color:var(--color-border);background:var(--color-background);color:var(--color-text);margin-bottom:-1px;font-weight:700}.card-list{gap:12px;display:grid}.card{border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 16px}.card-title{margin:0 0 4px;font-size:1.15rem}.card-meta{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.card p:last-child{margin-bottom:0}.back-link{margin:0 0 8px}.back-link a{min-height:var(--tap-size);align-items:center;display:inline-flex}.mode-select{border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;gap:0 16px;margin:16px 0;padding:8px 16px 12px;display:flex}.mode-select legend{padding:0 4px;font-weight:700}.mode-option{min-height:var(--tap-size);cursor:pointer;align-items:center;gap:8px;padding-right:4px;display:inline-flex}.mode-option input{width:1.1rem;height:1.1rem;margin:0}.count-setting select{min-height:var(--tap-size);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-background);font:inherit;padding:4px 8px}.exam-title{color:var(--color-muted);margin:0 0 4px;font-size:clamp(1rem,.9rem + .5vw,1.25rem)}.progress{margin:0;font-weight:700}.exam-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;margin:0 0 12px;display:flex}.timer{border:1px solid var(--color-border);border-radius:var(--radius-small);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;padding:2px 10px}.timer-value{font-weight:700}.timer-warning,.timer-expired{border-color:var(--color-danger);background:var(--color-danger-surface);color:var(--color-danger)}.timer-warning:before{content:"! ";content:"! " / "";font-weight:700}.question{border:1px solid var(--color-border);border-radius:var(--radius);-webkit-user-select:none;user-select:none;margin:0 0 16px;padding:16px}.question-prompt{margin:0 0 12px;font-size:1rem;font-weight:700;line-height:1.5}.question-quote{border-left:4px solid var(--color-border);margin:0 0 12px;padding:8px 12px;font-size:1.1rem}.question-quote u{text-underline-offset:3px;text-decoration-thickness:2px}.question-word{margin:0 0 12px;font-size:1.4rem;font-weight:700;line-height:1.4}.source{color:var(--color-subtle);margin:0 0 12px;font-size:.85rem}.choices{gap:8px;display:grid}.choice{min-height:var(--tap-size);border:1px solid var(--color-border);border-radius:var(--radius-small);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.choice:hover{border-color:var(--color-accent)}.choice:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-surface)}.choice:has(input:focus-visible){outline:3px solid var(--color-accent);outline-offset:2px}.choice input{flex:none;width:1.1rem;height:1.1rem;margin:.25em 0 0}.question-nav{justify-content:space-between;gap:12px;display:flex}.leave-links{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:0 24px;margin-top:24px;padding-top:8px;font-size:.9rem;display:flex}.leave-links a{min-height:var(--tap-size);color:var(--color-muted);align-items:center;display:inline-flex}.modal{border:1px solid var(--color-border);border-radius:var(--radius);width:min(28rem,100vw - 32px);max-height:calc(100dvh - 32px);color:inherit;padding:20px;overflow-y:auto}.modal::backdrop{background:#00000073}.modal-title{margin:0 0 8px;font-size:1.2rem}.modal-message p{margin:0 0 8px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:16px;display:flex}.result-exam{color:var(--color-muted);flex-wrap:wrap;gap:4px 16px;margin:0 0 16px;display:flex}.result-exam-title{color:var(--color-text);font-weight:700}.time-limit-reached{border-left:4px solid var(--color-danger);background:var(--color-surface);margin:0 0 16px;padding:8px 12px;font-weight:700}.score-panel{border:1px solid var(--color-border);border-radius:var(--radius);margin:0 0 16px;padding:16px}.score-panel h2{margin:0 0 4px;font-size:1.4rem}.score-panel p{margin:0 0 8px}.score-passed{border-color:var(--color-success-strong);background:var(--color-success-surface)}.score-passed h2{color:var(--color-success)}.score-failed{border-color:var(--color-danger);background:var(--color-danger-surface)}.score-failed h2{color:var(--color-danger)}.score-passed h2:before{content:"✓ ";content:"✓ " / ""}.score-failed h2:before{content:"✗ ";content:"✗ " / ""}.score-stats{grid-template-columns:max-content minmax(0,1fr);gap:4px 16px;margin:0;display:grid}.score-stats dt{color:var(--color-muted)}.score-stats dd{margin:0;font-weight:700}.certificate{justify-items:start;gap:12px;margin:0 0 16px;display:grid}.certificate svg{border-radius:4px;width:100%;max-width:800px;height:auto;box-shadow:0 1px 4px #00000026}.result-actions{margin-top:0}.review h2{margin:0 0 8px;font-size:1.3rem}.review-filter{min-height:var(--tap-size);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.review-filter input{width:1.1rem;height:1.1rem;margin:0}.review-count{color:var(--color-muted);margin:0 0 8px;font-size:.9rem}.review-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.review-item{border:1px solid var(--color-border);border-radius:var(--radius-small);border-left-width:4px}.review-correct{border-left-color:var(--color-success-strong)}.review-incorrect{border-left-color:var(--color-danger)}.review-unanswered{border-left-color:var(--color-neutral-strong);border-left-style:dashed}.review-item summary{min-height:var(--tap-size);cursor:pointer;gap:2px;padding:10px 12px;display:grid}.review-heading{flex-wrap:wrap;align-items:center;gap:4px 12px;font-weight:700;display:flex}.status{color:#fff;border-radius:999px;padding:0 8px;font-size:.8rem}.status-correct{background:var(--color-success-strong)}.status-incorrect{background:var(--color-danger)}.status-unanswered{background:var(--color-neutral-strong)}.status-correct:before{content:"✓ ";content:"✓ " / ""}.status-incorrect:before{content:"✗ ";content:"✗ " / ""}.status-unanswered:before{content:"– ";content:"– " / ""}.answer-wrong{color:var(--color-danger);font-weight:700}.answer-right{color:var(--color-success);font-weight:700}.review-detail{border-top:1px solid var(--color-border);padding:0 12px 12px}.review-detail .question-prompt{margin-top:12px}.review-choices{gap:6px;margin:0;padding:0;list-style:none;display:grid}.review-choice{border:1px solid var(--color-border);border-radius:var(--radius-small);flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 10px;display:flex}.review-choice.is-answer{border-color:var(--color-success-strong);background:var(--color-success-surface)}.review-choice.is-wrong-pick{border-color:var(--color-danger);background:var(--color-danger-surface)}.choice-tag{background:var(--color-background);border-radius:4px;padding:0 6px;font-size:.75rem;font-weight:700}.tag-answer{color:var(--color-success);border:1px solid var(--color-success-strong)}.tag-selected{color:var(--color-accent);border:1px solid var(--color-accent)}@media (width<=600px){main{padding:12px 12px 24px}.site-footer-inner{padding-inline:12px}.card,.question,.score-panel{padding:12px}.question-quote{font-size:1.05rem}.question-word{font-size:1.25rem}.question-nav button{flex:1 1 0;min-width:0;padding-inline:12px}.modal{padding:16px}.modal-actions{flex-direction:column-reverse}.modal-actions button,.actions button,.actions .link-button,.certificate button{width:100%}.certificate{justify-items:stretch}.score-stats{grid-template-columns:minmax(0,1fr);gap:0}.score-stats dd{margin-bottom:6px}}
