:root{--bg:#eef3ee;--paper:#fdfdfa;--rule:#6aa893;--rule-soft:#c5ddd3;--grid:#e3eee8;--ink:#1c2a4a;--muted:#566475;--mark:#ffe36e;--mark-soft:#fff5c2;--red:#d63c2c;--red-soft:#fde3df;--ok-soft:#e0f1e8;--on-ink:#fdfdfa;--ui:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--hand:"Klee One", "UD Digi Kyokasho N-R", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14211c;--paper:#1d2f28;--rule:#4f8a76;--rule-soft:#2f4a40;--grid:#24382f;--ink:#eef1e4;--muted:#a3b3a8;--mark:#8a7417;--mark-soft:#48431f;--red:#ff8d7d;--red-soft:#4d2721;--ok-soft:#244236;--on-ink:#14211c}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--ui);overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:500;line-height:1.7}h1,h2,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}button{font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{color:inherit}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}rt{font-size:.55em}.btn{border:1px solid var(--rule);background:var(--paper);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:2.75rem;padding:0 1.25rem;font-size:.9375rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{border-color:var(--ink);background:var(--ink);color:var(--on-ink)}.chip{border:1px solid var(--rule);background:var(--paper);white-space:nowrap;border-radius:999px;align-items:center;padding:.1rem .7rem;font-size:.8125rem;font-weight:700;line-height:1.6;display:inline-flex}.chip-small{padding:0 .55rem;font-size:.75rem}.section-note{color:var(--muted);font-size:.9375rem}.hanamaru{fill:none;width:4.5rem;height:4.5rem;stroke:var(--red);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;flex:none}.mark{fill:none;width:1.75rem;height:1.75rem;stroke:var(--red);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;flex:none}.mark-ng{stroke:var(--muted)}.mark-small{stroke-width:4px;width:1.25rem;height:1.25rem}.home{max-width:44rem;padding:2rem 1rem 4rem;padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));grid-template-columns:minmax(0,1fr);gap:2rem;margin:0 auto;display:grid}.home-main{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}.home-side{grid-template-columns:minmax(0,1fr);align-content:start;gap:1.5rem;display:grid}@media (width>=64rem){.home{grid-template-columns:minmax(0,44rem) minmax(0,1fr);align-items:start;column-gap:2.5rem;max-width:68rem}.home-side{gap:1rem;padding:1px;position:sticky;top:1.5rem}.home-side .account,.home-side .fields,.home-side .howto{background:var(--paper);box-shadow:0 0 0 1px var(--rule);border-top:0;padding:1rem 1.1rem 1.1rem}.home-side .howto ul{font-size:.875rem;line-height:1.65}}.home h2{font-size:1.125rem;font-weight:700}.hero{align-items:center;gap:clamp(.75rem,3vw,1.25rem);margin-bottom:.75rem;display:flex}.hero-text{flex:1;min-width:0}.crest{--crest:clamp(1.5rem, 7vw, 2.25rem);grid-template-columns:repeat(3, var(--crest));grid-auto-rows:var(--crest);flex:none;gap:1px;display:grid}.crest-cell{background:var(--paper);box-shadow:0 0 0 1px var(--rule);font-family:var(--hand);place-items:center;font-size:clamp(.95rem,4.4vw,1.25rem);font-weight:600;line-height:1;display:grid}.crest-cross{background:var(--mark)}.brand{font-family:var(--hand);letter-spacing:.02em;font-size:clamp(1.5rem,7.2vw,2.5rem);font-weight:600;line-height:1.15}.lead{color:var(--muted);margin-top:.4rem;font-size:.9375rem;line-height:1.6}.daily-date{font-family:var(--hand);font-size:1.75rem;font-weight:600;line-height:1.3}.daily{background:var(--paper);box-shadow:0 0 0 1px var(--rule);border-left:.5rem solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;padding:1.25rem 1.25rem 1.25rem 1.5rem;display:flex;position:relative}.levels{grid-template-columns:minmax(0,1fr);gap:.9rem;display:grid}@media (width>=40rem){.levels{grid-template-columns:repeat(2,minmax(0,1fr))}}.levels .daily{align-content:flex-start;align-items:flex-start}.daily.level-g5,.daily.level-g6{border-left-color:var(--ink)}.daily-text{flex:11rem}.home .daily-level{font-family:var(--hand);font-size:1.5rem;font-weight:600;line-height:1.3}.daily-note{color:var(--muted);font-size:.9375rem}.daily-status{margin-top:.35rem;font-size:.875rem;font-weight:700}.daily-status-done{color:var(--red)}.hanamaru-daily{width:3.5rem;height:3.5rem}.chips{flex-wrap:wrap;gap:.4rem;margin-top:.6rem;display:flex}.home-side .account-note{font-size:.875rem;line-height:1.65}.account{border-top:1px solid var(--rule-soft);justify-items:start;gap:.6rem;padding-top:1rem;display:grid}.account-note{color:var(--muted);max-width:38rem;font-size:.9375rem}.account-state{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.account-status{color:var(--muted);font-size:.875rem}.account-status.is-offline,.account-error{color:var(--red);font-size:.875rem}.account-error:empty{display:none}.howto{border-top:1px solid var(--rule-soft);padding-top:1rem}.howto summary{cursor:pointer;font-weight:700}.howto ul{color:var(--muted);max-width:38rem;margin-top:.5rem;padding-left:1.25rem;font-size:.9375rem;list-style:outside}.quiz,.result-page{max-width:46rem;min-height:100dvh;padding:0 .75rem calc(3rem + env(safe-area-inset-bottom));padding-left:max(.75rem, env(safe-area-inset-left));padding-right:max(.75rem, env(safe-area-inset-right));margin:0 auto}.bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;padding:.6rem 0;display:grid}.bar h1{white-space:nowrap;font-size:clamp(1.125rem,5vw,1.5rem);font-weight:700;line-height:1.3}.back{justify-self:start;text-decoration:none}.home-btn{border:1px solid var(--rule);background:var(--paper);border-radius:999px;align-items:center;gap:.25rem;min-height:2.25rem;padding:0 .85rem 0 .6rem;font-size:.875rem;font-weight:700;display:inline-flex}.bar-meta{color:var(--muted);text-align:right;justify-self:end;font-size:.8125rem}.steps{box-shadow:0 0 0 1px var(--rule);background:var(--rule);grid-template-columns:repeat(10,minmax(0,1fr));gap:1px;margin-bottom:.9rem;display:grid}.step{background:var(--paper);height:clamp(1.75rem,8vw,2.25rem);color:var(--muted);font-family:var(--hand);place-items:center;font-size:.9375rem;font-weight:600;line-height:1;display:grid}.step-now{background:var(--mark);color:var(--ink)}.mark-step{stroke-width:4px;width:1.3rem;height:1.3rem}.card{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);box-shadow:0 0 0 1px var(--rule);background-position:-1px -1px;background-size:1.5rem 1.5rem;padding:1.1rem clamp(.9rem,4vw,1.75rem) 1.5rem}.card-head{align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.q-num{font-family:var(--hand);font-size:1.375rem;font-weight:600;line-height:1.3}.q-text{font-family:var(--hand);font-size:clamp(1.0625rem,4.4vw,1.25rem);font-weight:600;line-height:1.9}.q-text p+p{padding-left:1em;font-size:.94em}.figure{background:var(--paper);box-shadow:0 0 0 1px var(--rule-soft);margin:1rem 0 .25rem;padding:.5rem}.choices{grid-template-columns:minmax(0,1fr);gap:.6rem;margin-top:1.1rem;display:grid}@media (width>=36rem){.choices:not(.choices-long){grid-template-columns:repeat(2,minmax(0,1fr))}}.choice{background:var(--paper);min-height:3.25rem;box-shadow:0 0 0 1px var(--rule);text-align:left;cursor:pointer;border:0;border-radius:0;align-items:center;gap:.7rem;padding:.55rem 2.75rem .55rem .7rem;font-size:1.0625rem;font-weight:700;line-height:1.6;display:flex;position:relative}.choice:hover:not(:disabled){background:var(--mark-soft)}.choice:disabled{cursor:default;color:var(--ink)}.choice-num{border:1px solid var(--rule);width:1.75rem;height:1.75rem;color:var(--muted);font-family:var(--hand);border-radius:50%;flex:none;place-items:center;font-size:.9375rem;line-height:1;display:grid}.choice-text{min-width:0}.choice-correct{background:var(--ok-soft);box-shadow:0 0 0 2px var(--rule)}.choice-wrong{background:var(--red-soft)}.choice:disabled:not(.choice-correct):not(.choice-wrong){color:var(--muted)}.mark-choice{width:1.75rem;height:1.75rem;margin-top:-.875rem;position:absolute;top:50%;right:.6rem}.mark-choice.mark-ng{stroke:var(--red)}.mark-choice path{stroke-dasharray:1;animation:.45s ease-out both draw}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.feedback:empty{display:none}.feedback{background:var(--mark-soft);box-shadow:0 0 0 1px var(--rule);margin-top:1.1rem;padding:.9rem 1rem 1rem;scroll-margin-bottom:1rem}.feedback-title{font-family:var(--hand);color:var(--red);font-size:1.5rem;font-weight:600;line-height:1.3}.feedback-answer{margin-top:.2rem;font-weight:700}.feedback-answer b{background:linear-gradient(transparent 60%, var(--mark) 60%)}.explain{margin-top:.4rem;font-size:.9688rem;line-height:1.8}.feedback-actions{justify-content:flex-end;margin-top:.9rem;display:flex}.btn-next{min-height:3rem;padding:0 1.75rem;font-size:1rem}.result-page{grid-template-columns:minmax(0,1fr);align-content:start;gap:1.5rem;display:grid}.result-page .bar{margin-bottom:-.75rem}.result-page h2{font-size:1.125rem;font-weight:700}.result-head{background:var(--paper);box-shadow:0 0 0 1px var(--rule);border-left:.5rem solid var(--rule);align-items:center;gap:1rem;padding:1.25rem;display:flex}.result-page .result-title{font-family:var(--hand);font-size:clamp(1.375rem,6vw,1.75rem);font-weight:600;line-height:1.3}.result-score{font-weight:700}.result-score b{color:var(--red);font-family:var(--hand);font-size:2rem;line-height:1.2}.result-sub{color:var(--muted);font-size:.9375rem}.result-fresh .hanamaru polyline{stroke-dasharray:1;animation:1.6s ease-out .15s both draw}.fields-result ul{background:var(--rule-soft);box-shadow:0 0 0 1px var(--rule);gap:1px;margin-top:.6rem;display:grid}.field-row{background:var(--paper);grid-template-columns:minmax(6.5rem,auto) 1fr auto;align-items:center;gap:.75rem;padding:.45rem .9rem;display:grid}.field-name{font-weight:700}.field-marks{gap:.3rem;display:flex}.field-score{color:var(--muted);font-size:.875rem}.review-list{gap:.6rem;margin-top:.75rem;display:grid}.review{background:var(--paper);box-shadow:0 0 0 1px var(--rule)}.review-head{cursor:pointer;align-items:center;gap:.6rem;min-height:3rem;padding:.4rem .9rem;display:flex}.review-num{font-family:var(--hand);font-size:1.125rem;font-weight:600}.review-result{color:var(--muted);margin-left:auto;font-size:.875rem}.review-ng .review-result{color:var(--red);font-weight:700}.review-body{border-top:1px solid var(--rule-soft);padding:.25rem .9rem 1rem}.review-body .q-text{margin-top:.6rem;font-size:1.0625rem}.review-answers{background:var(--mark-soft);grid-template-columns:auto minmax(0,1fr);gap:.2rem .9rem;margin-top:.9rem;padding:.6rem .8rem;display:grid}.review-answers dt{color:var(--muted);white-space:nowrap;font-size:.875rem}.review-answers dd{font-weight:700}.review-yours{text-decoration:line-through;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}.result-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.fig{width:min(100%, calc(var(--w) * 1.3px));height:auto;font-family:var(--ui);margin:0 auto;display:block}.fig text{fill:var(--ink);font-size:15px;font-weight:700}.fig .small{font-size:13px}.fig .tiny{font-size:11px}.fig .ln{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.fig .thin{stroke-width:1.2px}.fig .thick{stroke-width:4.5px}.fig .dash{stroke-dasharray:5 4}.fig .red{stroke:var(--red)}.fig .ink{fill:var(--ink)}.fig .box,.fig .fill-soft,.fig .fill-mark,.fig .tag,.fig .flame{stroke:var(--ink);stroke-width:2px;stroke-linejoin:round}.fig .box{fill:var(--paper)}.fig .fill-soft{fill:var(--rule-soft)}.fig .fill-mark{fill:var(--mark)}.fig .flame{fill:var(--red);stroke-width:1.2px}.fig .mask{fill:var(--paper)}.fig .tag{fill:var(--mark);stroke-width:1.5px}.fig .tag-text{font-size:13px}.fig .lit{fill:#ffe36e;stroke:none}.fig .shade{fill:#7d8894;stroke:none}.fig .shadow{stroke:var(--muted);stroke-width:9px;stroke-linecap:round;opacity:.75}@media (prefers-reduced-motion:reduce){.mark-choice path,.result-fresh .hanamaru polyline{animation:none}}
