@import url('https://fonts.googleapis.com/css2?family=Rounded+Mplus+1c:wght@400;700;800&display=swap');
*{box-sizing:border-box}body{margin:0}
:root{--paper:#fbf8ef;--ink:#523617;--green:#2e742b}
body{background:#f2f1e5;color:var(--ink)}
button,input,select{font-family:inherit}button{cursor:pointer}button:disabled{cursor:default}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #567f36;outline-offset:3px}
.mn-page{width:100%;max-width:504px;margin:0 auto;min-height:100dvh;background:var(--paper)!important;color:var(--ink);padding:18px 22px 32px;font-family:'Rounded Mplus 1c','Noto Sans JP',sans-serif;overflow-wrap:anywhere}
.mn-page h1,.mn-page h2,.mn-page h3{color:#356e2b;line-height:1.5}.mn-page h1{font-size:26px}.mn-page h2{font-size:20px}
.mn-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}.mn-heading h1{font-size:25px}.mn-heading .reward-back{flex-shrink:0}
.mn-note{font-size:13px;color:#776e55;line-height:1.8;text-align:center;margin:20px 0}
.mn-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:60px;background:#fffdf5;border:1px solid #dbd3b4;border-radius:18px;padding:15px;margin:16px 0;box-shadow:0 3px 0 #e6ddc4;font-size:15px;font-weight:800;color:var(--ink)}
.mn-row>span{font-size:22px;color:#557f35}.mn-text-button,.mn-teacher-actions button{background:none;border:0;font-size:12px;color:#56743c;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px}
.mn-home-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.mn-logo{font-size:26px;font-weight:800;color:#356e2b;border:0;background:none;min-height:44px;padding:0}.mn-home-heading p{font-size:10px;margin-top:3px;color:#7a7159}.mn-home-heading .reward-back{font-size:12px;padding:8px}
.mn-streak{font-size:13px;text-align:center;font-weight:800;margin:17px 0 8px;color:#6b7c39}
.mn-home-garden{height:220px;position:relative;border-radius:24px;overflow:hidden}.mn-garden-image{width:100%;height:100%;object-fit:cover;object-position:center 55%}.mn-growth-counts{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:12px}.mn-growth-counts span{background:#fffcefef;border:1px solid #d5d59e;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:800}
.mn-coach-message{position:relative;text-align:center;background:#f0f4df;border:1px solid #d4ddad;border-radius:16px;padding:11px 14px;font-size:14px;line-height:1.7;margin:14px 0 10px;font-weight:700}
.mn-teachers{display:flex;justify-content:center;gap:16px}.mn-teacher{width:46%;max-width:180px;min-width:0;display:flex;flex-direction:column;align-items:center;border:1px solid #d8d4b6;border-radius:20px;background:#fffcf4;padding:10px 8px;color:var(--ink)}.mn-teacher[aria-pressed=true]{border:2px solid #88a848;background:#eef4dd}.mn-teacher strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.mn-teacher small{font-size:11px;color:#65823f}.mn-teacher-actions{display:flex;justify-content:center;gap:10px;margin:3px 0 12px}
.mn-harvest-link{width:100%;min-height:48px;border-radius:17px;background:#fff2cc;border:1px solid #dfc282;font-size:14px;font-weight:800;color:#865817;padding:12px;margin-bottom:16px}
.mn-mission{text-align:center;border:1px solid #d6c893;border-radius:25px;background:linear-gradient(145deg,#fffdf0,#f9efcd);box-shadow:inset 0 0 0 2px white,0 4px 0 #e3d4ac;padding:20px}.mn-mission>span{font-size:14px;font-weight:800;color:#82713d}.mn-mission h1{font-size:24px;margin:9px 0}.mn-mission p{font-size:13px;margin-bottom:19px}.mn-mission button:disabled{background:#7e9f48;border-color:#749443;box-shadow:inset 0 0 0 2px #bed28f;color:#fff}
.mn-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:23px 0}.mn-quick button{background:#fff9df;border:1px solid #d9c682;border-radius:20px;box-shadow:0 3px 0 #e2d4ac;padding:18px 8px;color:var(--ink);font-size:20px}.mn-quick button+button{background:#eef4e2;border-color:#c4d2a2;box-shadow:0 3px 0 #d8dfbc}.mn-quick strong{font-size:16px}.mn-quick small{display:block;font-size:12px;margin-top:6px}.mn-section-title{font-size:17px!important;margin:24px 0 14px}
.mn-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.mn-subject{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #adc8d9;border-radius:20px;background:linear-gradient(#fffdf7,#deedf5);box-shadow:inset 0 0 0 2px #fff,0 3px 0 #cbd9dd;min-height:74px;color:var(--ink);font-size:17px}.mn-subject>span{font-size:28px}.mn-subject>small{position:absolute;right:4px;top:4px;font-size:11px}.subject-1{background:linear-gradient(#fffef7,#e5efce);border-color:#becd93}.subject-2{background:linear-gradient(#fffef7,#dcebd4);border-color:#adcca0}.subject-3{background:linear-gradient(#fffef7,#f9e5ce);border-color:#e6c6a2}.subject-5{background:linear-gradient(#fffef7,#ffe6dc);border-color:#e6bbab}.subject-6{grid-column:1/-1;background:linear-gradient(#fffef7,#eadcf3);border-color:#cfb4df}
.mn-loading,.mn-result{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px}.mn-result .reward-primary{max-width:340px}.mn-score{background:#fffef8;border:1px solid #dfd2ad;border-radius:24px;padding:24px 35px}.mn-score>span{font-size:14px}.mn-score strong{display:block;font-size:48px;color:#598331}.mn-score small{font-size:17px}
.mn-learning .mn-heading h1{font-size:18px}.mn-question-progress{display:flex;align-items:center;gap:12px;font-size:13px;color:#507331}.mn-question-progress progress{flex:1;min-width:0;height:12px;accent-color:#85a740}.mn-question-meta{font-size:12px;color:#6e7a4d;font-weight:800;margin:20px 0 12px}.mn-question{background:#fffefa;border:1px solid #d6cfad;border-radius:23px;padding:24px 16px;text-align:center;box-shadow:0 3px 0 #e6dfc6}.mn-question h2{font-size:25px;color:var(--ink);white-space:pre-line}.mn-question svg{max-width:100%;margin:16px auto}.mn-question [tabindex="-1"]:focus,.mn-result [tabindex="-1"]:focus{outline:none}.mn-hint{min-height:44px;margin-top:15px;padding:8px 15px;border:1px solid #d6d3a5;border-radius:18px;background:#f3f6e2;font-size:13px;color:#567339;font-weight:800}.mn-question>p{font-size:14px;line-height:1.9;margin-top:12px}
.mn-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:23px 0}.mn-answer{display:flex;align-items:center;gap:10px;min-height:80px;text-align:left;background:#fffdfa;border:2px solid #dbd6bd;border-radius:20px;box-shadow:0 3px 0 #e4ddc1;padding:14px 12px;font-size:21px;font-weight:800;color:var(--ink);overflow-wrap:anywhere}.mn-answer-number{flex-shrink:0;display:grid;place-items:center;width:25px;height:25px;background:#efefdc;border-radius:50%;font-size:12px;color:#7d8557}.mn-answer.is-correct{border-color:#85aa46;background:#eff6dd}.mn-answer.is-wrong{border-color:#dca181;background:#fff0e6;font-size:17px}.mn-answer:disabled{opacity:1}.mn-feedback{background:#f0f5df;border:1px solid #c5d3a0;border-radius:22px;padding:18px}.mn-feedback h3{font-size:18px}.mn-feedback p{white-space:pre-line;line-height:1.9;font-size:15px;margin:12px 0 18px}.mn-feedback .reward-primary{margin-top:15px;font-size:16px}.mn-learning-coach{display:flex;justify-content:center;margin:24px 0 0}
.mn-puzzle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;max-width:340px;margin:auto;border:6px solid white;border-radius:18px;overflow:hidden}.mn-puzzle>div{aspect-ratio:1;display:grid;place-items:center;background:#e4eccf;color:#a6bc7e;font-size:35px}.mn-puzzle .found{background-size:300% 300%;background-repeat:no-repeat}
.mn-archive{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mn-archive figure{border:1px solid #d6dbb9;border-radius:18px;overflow:hidden;background:#fffdf4}.mn-archive img{width:100%;display:block}.mn-archive figcaption{font-size:12px;padding:12px;line-height:1.7}
.mn-dialog{margin:auto;width:calc(100% - 32px);max-width:400px;max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #d2c49d;border-radius:24px;background:var(--paper);color:var(--ink);padding:24px;text-align:center}.mn-dialog::backdrop{background:#344e3588;backdrop-filter:blur(4px)}.mn-dialog h2{font-size:22px;margin-bottom:18px;color:#386f30}.mn-dialog p{font-size:15px;line-height:1.9;margin:14px 0 20px}.mn-dialog .detail-art{max-width:100%}.harvest-dialog{margin:auto;border:1px solid #d2ce9e;color:var(--ink);font-family:inherit}.mn-motion{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:#607744;min-height:36px;flex-shrink:0}.mn-motion input{accent-color:#719743;width:16px;height:16px}
.mn-legacy{padding:0 0 30px}.mn-legacy>div:first-child:not([style*="position: fixed"]){background:var(--paper)!important;box-shadow:none!important;border-bottom-color:#ded8bc!important}.mn-legacy input,.mn-legacy select{max-width:100%;border-radius:14px!important;min-height:44px}.mn-legacy button{min-height:44px}.mn-legacy div[style*="box-shadow"]{box-shadow:0 3px 0 #e5ddc2!important;border-color:#ddd7bd!important}.mn-legacy>div:first-child button{color:#537b35!important;background:#fffdf5!important;border:1px solid #d9d0b1!important;border-radius:17px!important}.mn-legacy div[style*="background: white"][style*="border-radius"]{background:#fffef8!important}
.mn-legal{padding:8px 0 30px}.mn-legal>div:first-child{position:static!important;background:var(--paper)!important;border:0!important;display:block!important}.mn-legal h1{font-size:25px!important;margin:20px 0 8px!important;line-height:1.6!important}.mn-legal>div:nth-child(2){padding:18px!important;overflow-wrap:anywhere}.mn-legal h2{font-size:19px!important}.mn-legal li{margin-bottom:8px}.mn-legal p,.mn-legal li{line-height:1.95!important}.mn-legal button{min-height:44px}.mn-legal a{color:#36658d!important}
.mn-commerce-section{border:1px solid #d8ddc1;border-radius:22px;margin:18px 0;overflow:hidden;background:#fffefa}.mn-commerce-section h2{margin:0!important;padding:16px 18px!important;background:#eef3df}.mn-commerce-section>div{display:block!important;margin:0 18px;border-bottom:1px dashed #e0ddca!important;padding:16px 0}.mn-commerce-section>div>div:first-child{background:none!important;padding:0 0 8px!important;width:auto!important}.mn-commerce-section>div>div:last-child{padding:0!important;font-size:15px!important}
.mn-commerce-index{display:flex;flex-direction:column;gap:8px}.mn-commerce-index button{background:#eef3df;border:1px solid #d7dfbd;border-radius:14px;padding:12px 14px;text-align:left;font-size:14px;color:#4b7337;font-weight:800}
.mn-subject-page .mn-practice-card{text-align:center;padding:24px 18px;border:1px solid #b9cea1;border-radius:25px;background:linear-gradient(#fffdf7,#edf4de);margin:20px 0}.mn-practice-card h2{font-size:24px;margin:15px 0 8px}.mn-practice-card p{font-size:14px;line-height:1.8;margin:8px 0 18px}.mn-practice-card>div{display:flex;justify-content:center}.mn-naming{display:flex;flex-direction:column;justify-content:center;gap:24px}.mn-naming>p{text-align:center;font-size:14px}.mn-name-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mn-name-pair>label{display:flex;flex-direction:column;align-items:center;min-width:0;background:#f0f4e0;border:1px solid #d2dab2;border-radius:22px;padding:18px 10px;font-weight:800;font-size:13px;gap:15px}.mn-name-pair input{width:100%;min-height:50px;border:1px solid #b7c691;border-radius:13px;font-size:17px;padding:10px;color:var(--ink)}.mn-name-pair>label+label{background:#eaf2f4}
@media(max-width:389px){.mn-page{padding:12px 14px 28px}.mn-logo{font-size:22px}.mn-home-heading{gap:6px}.mn-home-heading p{font-size:9px}.mn-heading{gap:10px}.mn-heading h1{font-size:22px}.mn-home-garden{height:190px}.mn-subject{font-size:15px;gap:7px}.mn-subject>span{font-size:24px}.mn-answer{font-size:18px;padding:12px 10px}.mn-answer-grid{gap:10px}.mn-answer-number{width:21px;height:21px}.mn-legacy,.mn-legal{padding:0 0 24px}.mn-legacy>div{padding-left:14px!important;padding-right:14px!important}.mn-question h2{font-size:23px}}
@media(min-width:700px){.mn-page{margin:20px auto;border-radius:28px;box-shadow:0 8px 45px #5760360d;min-height:calc(100dvh - 40px)}}
@media(prefers-reduced-motion:reduce){.mn-page *{animation:none!important;transition:none!important}}


.static-back{display:inline-block;border:1px solid #d8d0b0;border-radius:16px;padding:10px 14px;min-height:44px;background:#fffdf6;color:#52733c;text-decoration:none;font-size:14px}.static-legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;padding:20px;font-size:13px}.static-legal-links a{color:#547637}