:root{font-family:Inter,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:#172c38;background:#f5f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#087b74;text-decoration:none}a:hover{text-decoration:underline}.topbar{height:78px;background:white;border-bottom:1px solid #dfe8e5;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1420px)/2));position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#0d756d;color:white;font-weight:800;font-size:17px;letter-spacing:-1px}.brand strong{font-size:16px;display:block}.brand small{display:block;color:#72848b;font-size:11px;margin-top:2px}.topbar nav{display:flex;gap:5px}.tab{border:0;background:transparent;color:#637780;padding:12px 17px;border-radius:9px;font-weight:700}.tab.active,.tab:hover{background:#e8f4f0;color:#087b74}main{max-width:1420px;margin:auto;padding:32px}.view{display:none}.view.active{display:block}.hero{min-height:215px;border-radius:18px;background:linear-gradient(110deg,#113e43,#0f665e 75%,#188477);color:white;padding:34px 42px;display:flex;align-items:center;justify-content:space-between;gap:30px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800;color:#0b9081}.hero .eyebrow{color:#9de4d7}.hero h1{font-size:clamp(26px,3vw,39px);letter-spacing:-.04em;margin:12px 0 14px}.hero p{color:#d6eeea;margin:0;font-size:14px}.hero-date{min-width:230px;padding-left:30px;border-left:1px solid #6aaca5;display:grid;gap:5px}.hero-date span{font-size:11px;color:#b7ddd7}.hero-date strong{font-size:24px;letter-spacing:.04em;margin-bottom:5px}.notice{display:flex;align-items:center;gap:15px;background:#fff9e7;border:1px solid #f0dfaf;border-radius:12px;padding:16px 20px;margin:22px 0;color:#5b4b25;font-size:13px}.notice strong{white-space:nowrap}.notice span{flex:1}.notice a{white-space:nowrap;color:#966914;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.stat,.panel{background:white;border:1px solid #e0e8e5;border-radius:14px;box-shadow:0 3px 12px #153c3008}.stat{padding:21px}.stat span{display:block;font-size:12px;color:#71858a}.stat strong{display:block;font-size:29px;margin-top:8px;letter-spacing:-.04em}.stat small{font-size:12px;color:#7b8c8c}.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{padding:24px}.panel h2{font-size:19px;margin:0 0 12px}.muted{color:#71858a}.small{font-size:12px;line-height:1.6}.settings>p{margin-top:0}.settings label,.practice-controls label{display:grid;gap:6px;font-size:12px;font-weight:700;margin:14px 0;color:#425860}.settings input,.practice-controls select{height:42px;padding:0 12px;border:1px solid #ccd9d5;border-radius:8px;background:white;color:#172c38}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.primary,.secondary,.import-button{border-radius:8px;padding:10px 14px;font-size:13px;font-weight:700;border:1px solid #0a766e;display:inline-block}.primary{background:#087b74;color:white}.primary:hover{background:#09645f}.secondary,.import-button{background:#fff;color:#087b74}.secondary:hover,.import-button:hover{background:#eff8f5;text-decoration:none}.strategy ol{padding-left:22px;margin:16px 0;line-height:1.85;font-size:14px}.strategy li{margin-bottom:11px}.schedule-panel{margin-top:16px}.section-title,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-title h2{margin:6px 0 0}.filter-row{display:flex;gap:6px}.pill{border:1px solid #d5e3de;background:white;color:#73868a;border-radius:40px;padding:7px 14px;font-size:12px}.pill.selected{background:#e7f4f0;color:#06766e;border-color:#afdcd1;font-weight:700}.week-title{font-size:12px;color:#74868c;font-weight:800;letter-spacing:.08em;margin:26px 0 9px}.day{display:grid;grid-template-columns:105px 1fr auto;align-items:start;gap:16px;border-top:1px solid #edf1ef;padding:14px 2px}.day-date{color:#667e85;font-size:13px;font-weight:700}.day-date strong{display:block;color:#172c38;font-size:18px}.day-title{font-weight:700;font-size:14px}.day-details{font-size:12px;color:#6d8186;margin-top:5px;line-height:1.6}.day-tag{font-size:11px;border-radius:5px;background:#edf5f3;color:#16796f;padding:4px 7px;margin-right:6px}.day-check{display:flex;align-items:center;gap:6px;color:#6d8186;font-size:12px;white-space:nowrap}.day-check input{accent-color:#087b74;width:17px;height:17px}.day.done .day-title{text-decoration:line-through;color:#859792}.section-heading{margin:4px 0 24px}.section-heading h1{font-size:32px;margin:7px 0}.section-heading p{margin:0;color:#71858a;font-size:14px}.badge{background:#e7f4f0;color:#087b74;border-radius:30px;padding:9px 14px;font-size:12px;font-weight:800;white-space:nowrap}.practice-controls{display:flex;align-items:center;gap:24px;margin-bottom:16px}.practice-controls label{margin:0;min-width:250px}.practice-controls select{width:100%}.practice-controls #aMeta{flex:1;color:#71858a;font-size:13px}.practice-controls .button-row{margin-left:auto}#timer{font-variant-numeric:tabular-nums;font-size:23px;font-weight:800;color:#113e43;margin-left:8px}.practice-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(370px,.85fr);gap:16px;align-items:start}.pdf-panel,.answer-panel{min-width:0}.pdf-head,.answer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.pdf-panel p{margin-bottom:0}.answer-panel h2{margin:0}.answer-panel{max-height:calc(100vh - 112px);overflow:auto}.question{padding:12px 0;border-bottom:1px solid #edf1ef}.question-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.question-number{font-size:13px;font-weight:800}.choices{display:flex;gap:6px;margin-top:10px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice span{display:grid;place-items:center;width:42px;height:38px;border:1px solid #d5e1dd;border-radius:7px;font-size:14px;font-weight:700;color:#647c81;cursor:pointer}.choice input:checked+span{background:#087b74;color:white;border-color:#087b74}.choice input:focus-visible+span{outline:3px solid #88d4c6}.question.correct .question-number{color:#0a806b}.question.wrong .question-number{color:#cb574c}.question small{font-size:12px;color:#71858a}.question textarea,.b-card textarea{width:100%;min-height:68px;border:1px solid #d4e0db;border-radius:8px;padding:9px;margin-top:9px;resize:vertical;font-size:13px}.sticky-actions{position:sticky;bottom:-24px;background:#fff;border-top:1px solid #e4ece9;padding:14px 0;display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}#aResult{line-height:1.6;font-size:13px}.result-box{padding:14px;background:#eaf5f1;border-radius:8px;margin-top:12px}.b-card{padding:16px 0;border-bottom:1px solid #e7eeeb}.b-card h3{font-size:15px;margin:0 0 7px}.b-card label{display:block;color:#5d7279;font-size:12px;margin-top:11px}.b-card select{margin-top:6px;padding:8px;border:1px solid #d4e0db;border-radius:7px;width:100%;background:#fff}.b-card input[type=checkbox]{accent-color:#087b74}.b-card .choose{display:flex;align-items:center;gap:7px;margin:8px 0;font-size:13px;font-weight:700}.link-button{white-space:nowrap}footer{max-width:1420px;margin:0 auto;padding:12px 32px 32px;color:#839397;font-size:11px}@media(max-width:900px){.topbar{height:auto;padding:13px 20px;gap:12px;align-items:start;flex-direction:column}.topbar nav{width:100%;overflow:auto}.tab{white-space:nowrap;padding:9px 12px}main{padding:18px}.hero{padding:26px;display:block}.hero-date{border:0;border-top:1px solid #6aaca5;padding:16px 0 0;margin-top:22px;grid-template-columns:1fr 1fr}.hero-date strong{font-size:20px}.notice{align-items:start;flex-direction:column;gap:7px}.stats,.columns{grid-template-columns:1fr 1fr}.practice-layout{grid-template-columns:1fr}.answer-panel{max-height:none}.practice-controls{align-items:stretch;flex-wrap:wrap}.practice-controls .button-row{margin-left:0}}@media(max-width:620px){.stats,.columns{grid-template-columns:1fr}.day{grid-template-columns:75px 1fr}.day-check{grid-column:2}.section-heading{display:block}.badge{display:inline-block;margin-top:15px}.practice-controls label{width:100%}.panel{padding:18px}}
.page-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:12px;font-size:13px;font-weight:700}.page-controls button{padding:7px 12px}.page-controls button:disabled{opacity:.4;cursor:default}.page-frame{height:72vh;min-height:620px;overflow:auto;border:1px solid #dce7e3;border-radius:8px;background:#e8edeb;text-align:center}.page-frame img{display:block;width:100%;height:auto;max-width:none}
@media(max-width:900px){.page-frame{height:65vh}}
.explanation-link,.review-links{display:block;margin-top:10px;font-size:12px;font-weight:700}.explanation-link{color:#087b74}.review-links{display:flex;gap:16px;flex-wrap:wrap}[hidden]{display:none!important}
.question.correct .question-number,.question.correct .feedback{color:#1763c6}.question.wrong .question-number,.question.wrong .feedback{color:#c43232}.question.correct .choice input:checked+span{background:#e9f1ff;color:#1763c6;border-color:#1763c6}.question.wrong .choice input:checked+span{background:#fff0ee;color:#c43232;border-color:#c43232}
.question-source{display:block;margin:4px 0 8px;color:#6d7d83;font-size:11px;line-height:1.5}
