:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:#243c34;background:#f7f8f2;font-synthesis:none;line-height:1.65;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bd772a;outline-offset:3px}header{max-width:1040px;margin:auto;padding:25px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e6dd}.brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:750;letter-spacing:-.7px}.brand small{font-size:11px;letter-spacing:1px;font-weight:500;color:#6c7972;margin-left:10px}.logo{display:grid;place-items:center;width:36px;height:36px;background:#176b55;color:#e7f2ab;border-radius:11px;font-size:25px}.connection{color:#63816f;font-size:11px}main{max-width:680px;margin:0 auto;padding:42px 28px 120px}h1{font-size:36px;line-height:1.5;letter-spacing:-1px;margin:12px 0}h2{font-size:32px;margin:15px 0 5px}h3{font-size:16px;margin:0 0 12px}p{margin:10px 0}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:750;color:#687c69}.muted{color:#778178;font-size:13px}.intro{margin-bottom:28px}.hero{background:#176b55;border-radius:23px;padding:28px;color:white;position:relative;overflow:hidden;box-shadow:0 9px 25px #176b5515}.hero:after{content:'';position:absolute;width:180px;height:180px;border:1px solid #ffffff17;border-radius:50%;right:-55px;top:30px;pointer-events:none}.hero-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#e1ebd7}.pill{border:1px solid #ffffff40;padding:4px 10px;border-radius:20px;font-size:10px;letter-spacing:1.4px}.hero p{color:#e0ecdf;margin:0 0 25px}.hero small{display:block;color:#d5e2d3;font-size:11px;margin-top:15px}.primary{border:0;background:#176b55;color:white;border-radius:12px;padding:15px 20px;font-weight:700;width:100%;min-height:54px}.primary.light{background:#e6f2b3;color:#224c36;text-align:left;display:flex;justify-content:space-between}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:18px 0}.card{background:#fff;border:1px solid #e5e8dd;border-radius:18px;padding:23px;margin-bottom:18px;text-align:left;display:block;color:inherit}.two .card{margin:0}.icon{display:inline-grid;place-items:center;background:#f2f3e8;color:#75804e;width:34px;height:34px;border-radius:10px;font-size:22px;margin-bottom:16px}.two p{font-size:12px;color:#748073;display:flex;justify-content:space-between}.two h3{margin-bottom:8px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.section-top h3{margin:0}.bar{height:8px;display:flex;overflow:hidden;border-radius:6px;background:#e3e7df;margin:24px 0 15px}.legend{display:flex;justify-content:space-between;font-size:11px;color:#7c857a}.legend b{margin-left:4px;color:#304a39}.footnote{font-size:11px;line-height:1.9;color:#7b8379}.footnote:not(.card .footnote){text-align:center}nav{position:fixed;bottom:0;left:0;right:0;background:#ffffffee;backdrop-filter:blur(15px);display:flex;justify-content:center;gap:22px;border-top:1px solid #e4e7df;padding:12px 10px calc(12px + env(safe-area-inset-bottom));z-index:10}nav a{display:flex;align-items:center;flex-direction:column;min-width:65px;font-size:20px;color:#8b938a;border-radius:10px}nav span{font-size:10px}nav a[aria-current]{color:#176b55;font-weight:700;background:#edf3e5}#notice:not(:empty){position:fixed;bottom:94px;left:50%;transform:translateX(-50%);background:#243c34;color:white;padding:12px 18px;border-radius:12px;font-size:12px;z-index:30;max-width:90%;width:max-content;box-shadow:0 5px 20px #0002}#notice:empty{display:none}progress{height:5px;width:100%;accent-color:#176b55;margin-top:20px}.question{text-align:center;padding:40px 0 25px}.question h1{font-size:39px;overflow-wrap:anywhere}.options{display:grid;gap:12px}.option{background:#fff;border:1px solid #dfe5dc;border-radius:14px;text-align:left;padding:17px;display:flex;align-items:center;gap:15px;min-height:64px;color:#30483a}.option-index{font-size:12px;border:1px solid #e0e4dc;border-radius:7px;padding:2px 8px;color:#7a8777}.option:disabled{opacity:1}.option.correct{border:2px solid #176b55;background:#edf5e5}.option.incorrect{border:2px solid #bd785b;background:#fcf0e9}.feedback{background:white;padding:25px;border-radius:18px;margin-top:22px;border:1px solid #dae4d3}.feedback h3{color:#176b55}.meaning{font-size:17px;font-weight:650}.example{border-left:3px solid #c6d4b0;padding-left:14px;margin:20px 0}.example p{line-height:1.8}.example small,small{color:#778574;font-size:11px}.feedback .primary{margin-top:12px}.complete{text-align:center;padding:40px 0}.seal{width:70px;height:70px;margin:10px auto 35px;background:#e5efb4;color:#176b55;display:grid;place-items:center;border-radius:50%;font-size:35px}.complete .primary{margin-top:30px}.search{display:flex;background:white;border:1px solid #dce3d7;padding:10px 15px;border-radius:12px;gap:12px;margin:25px 0 15px}.search input{border:0;width:100%;outline:0;background:transparent;min-height:28px}.filters{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap}.filters button,.text-button{border:0;background:transparent;padding:10px 12px;color:#697b67;font-size:12px}.filters .selected{background:#176b55;color:white;border-radius:20px}.word{padding:18px;margin-bottom:10px}.word summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:10px}.word strong{font-size:19px}.word-meaning{font-size:12px;color:#7b8477;display:block}.tag{font-size:10px;border-radius:20px;background:#edf2e7;color:#647652;padding:4px 9px;white-space:nowrap}.tag.weak{background:#faeae1;color:#a06345}.word[open] summary{margin-bottom:24px}.metric>span{font-size:12px;color:#778574}.metric>strong{font-size:36px;display:block;margin-top:12px}.metric small{font-size:14px;margin-left:5px}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;border-bottom:1px solid #f0f2eb;gap:15px}.stat-row meter{flex:1;height:12px;accent-color:#176b55}.upload{display:block;text-align:center;background:#eef3e5;border:1px dashed #9bab88;border-radius:12px;padding:22px;cursor:pointer;color:#466243;margin-top:24px}.upload input{display:block;margin:10px auto 0;max-width:100%;font-size:12px}.secondary{background:white;border:1px solid #becdb6;padding:12px 16px;border-radius:10px;color:#3b614b;min-height:46px}.restore{font-size:12px;display:block;margin-top:20px}.restore input{display:block;margin-top:8px;width:100%}.mapping{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}label{font-size:12px}select{width:100%;display:block;padding:11px;border:1px solid #d9e2d3;border-radius:8px;background:white;margin-top:5px;font-size:13px}.sample{padding:10px;background:#f4f6ee;font-size:12px;border-radius:8px}.empty{text-align:center;padding:40px;color:#7b8477}@media(max-width:520px){header{padding:18px 20px}.brand small{display:none}main{padding:30px 20px 120px}h1{font-size:29px}.hero{padding:24px}.card{padding:20px}.two{gap:12px}.two .card{padding:17px}nav{gap:12px}.legend{font-size:10px}.question h1{font-size:34px}.mapping{grid-template-columns:1fr}.connection{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
