:root{font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;color:#202c26;background:#f7f8f6;font-size:16px;line-height:1.55;--accent:#23634b}*{box-sizing:border-box}body{margin:0}header{max-width:920px;margin:auto;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce3dd;gap:12px}.brand{font-weight:700;color:inherit;text-decoration:none;white-space:nowrap}nav{display:flex;gap:4px;flex-wrap:wrap}main{max-width:780px;margin:0 auto;padding:24px 20px 110px}h1{font-size:1.4rem;margin:0 0 14px}h2{font-size:1.1rem;margin:0 0 10px}p{margin:8px 0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #cbd6ce;background:white;border-radius:7px;padding:10px 15px;color:inherit;min-height:42px}button:hover{background:#edf3ef}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--accent);color:white;border-color:var(--accent)}nav button{border:0;background:transparent;font-size:.9rem;padding:6px 10px}nav button[aria-current=page]{background:#e3ece6;color:var(--accent)}input,select,textarea{width:100%;padding:10px;border:1px solid #cbd6ce;border-radius:6px;background:white;color:inherit}textarea{resize:vertical;min-height:125px}label{display:block;margin:14px 0 5px}input[type=checkbox]{width:auto;margin-right:8px}form{margin:14px 0}form button{margin-top:16px}section,.panel{border:1px solid #dde4df;border-radius:10px;padding:18px;background:white;margin:16px 0}.muted,small{color:#66746b;font-size:.87rem}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid section{margin:0}.price{font-size:.87rem;color:#47604f;margin:12px 0}.banner{padding:12px;background:#fff3dd;border-radius:6px}.auth{max-width:380px;margin:40px auto}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.quiz-prompt{font-size:1.12rem;font-weight:500;line-height:1.8;white-space:pre-wrap;margin:14px 0 20px}.options{display:grid;gap:10px}.option{text-align:left;padding:12px 14px;width:100%;line-height:1.5;min-height:48px}.option.correct{background:#e2f2e8;border-color:#35835b;color:#154f30;opacity:1}.option.wrong{background:#fff0ec;border-color:#c76553;opacity:1}.feedback{margin:16px 0;background:#eef4ef;padding:14px;border-radius:8px}.dock{position:sticky;bottom:0;background:#f7f8f6f5;padding:14px 0 calc(14px + env(safe-area-inset-bottom));border-top:1px solid #dce3dd;margin-top:20px}.rating{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.rating button{padding:8px 3px;font-size:.9rem}.term{border:0;border-bottom:1px dashed #658874;min-height:0;padding:0;background:none;border-radius:0;font:inherit;color:inherit}dialog{border:1px solid #cbd6ce;border-radius:12px;max-width:min(430px,90vw);padding:24px}dialog::backdrop{background:#10221855}dialog h2{font-size:1.4rem}#notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);max-width:90vw;background:#213f2e;color:white;border-radius:8px;padding:0;z-index:10;box-shadow:0 2px 12px #0002}#notice:not(:empty){padding:12px 18px}.list{list-style:none;margin:0;padding:0}.list li{padding:12px 0;border-bottom:1px solid #e5e9e6}.list li:last-child{border:0}.qr{display:block;width:230px;max-width:100%;margin:15px auto}code{background:#edf1ee;padding:3px 6px;border-radius:4px;word-break:break-all}a{color:var(--accent)}details{margin-top:18px}summary{cursor:pointer}.balance{font-variant-numeric:tabular-nums}.status{display:inline-block;font-size:.8rem;margin-left:8px;padding:2px 8px;background:#edf2ee;border-radius:4px}button:focus-visible,a:focus-visible{outline:3px solid #6faa8f;outline-offset:3px}@media(max-width:540px){header{padding:12px}.brand{font-size:.95rem}nav button{padding:6px;font-size:.83rem}main{padding:18px 14px 70px}.grid{gap:10px}.grid section{padding:14px}.grid button{width:100%;padding:10px 5px}h1{font-size:1.3rem}.quiz-prompt{font-size:1.03rem}.option{font-size:.96rem}.dock{position:fixed;left:0;right:0;bottom:0;padding:12px 14px calc(12px + env(safe-area-inset-bottom));z-index:3}.quiz{padding-bottom:90px}}
