@charset "UTF-8";
:root{font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:#20392f;background:#f6f8f4;font-synthesis:none;font-size:18px;--green:#155d4c;--ink:#20392f;--line:#dce5dc;--muted:#56675d}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.52}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:4px solid #ecad26;outline-offset:4px}button{min-height:52px;border:0;border-radius:16px;font-weight:700;padding:14px 22px}button:hover:not(:disabled){filter:brightness(.97)}button:active:not(:disabled){transform:translateY(1px)}h1,h2,h3,p{margin-top:0}h1{font-size:2.25rem;line-height:1.28;letter-spacing:-1.5px}h2{font-size:1.3rem;letter-spacing:-.5px}h3{font-size:1.05rem}p{line-height:1.65}.shell{max-width:1180px;margin:auto;padding:30px 42px 34px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:34px}.brand{display:flex;align-items:center;gap:12px;font-weight:850;font-size:1.1rem}.brand-mark{width:45px;height:45px;border-radius:15px;background:var(--green);color:#eaff9c;display:grid;place-items:center;font-size:2rem;font-weight:500}.quiet{background:white;color:var(--ink);border:1px solid var(--line);font-size:.84rem}.date{font-size:.86rem;color:var(--muted);margin:0 0 10px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.intro h1{margin-bottom:10px}.intro p{margin-bottom:0;color:var(--muted)}.small-tag{font-size:.78rem;background:#e6eddf;padding:9px 14px;border-radius:30px;white-space:nowrap}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.today{background:var(--green);color:white;border-radius:26px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{font-size:.78rem;letter-spacing:.06em;font-weight:700}.today h2{font-size:1.55rem;margin:10px 0}.today p{font-size:.87rem;margin:0;color:#d7e8df}.primary{background:var(--green);color:white}.today .primary{background:#eaff9c;color:#254232;white-space:nowrap;min-height:62px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px;gap:12px}.section-heading h2{margin:0}.section-heading span{font-size:.8rem;color:var(--muted)}.areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.area{background:white;text-align:left;padding:20px;border:1px solid var(--line);min-height:187px;display:flex;flex-direction:column;gap:13px;box-shadow:0 3px 0 #e9eee6}.area .icon{width:49px;height:49px;border-radius:17px;display:grid;place-items:center;font-size:1.5rem;font-weight:700}.mint{background:#d6efdf;color:#225d45}.sky{background:#dceffc;color:#305f86}.peach{background:#ffe5d6;color:#80462b}.yellow{background:#fff0b0;color:#725a13}.purple{background:#eee4fa;color:#6c4788}.blue{background:#e1e8ff;color:#3c5092}.area strong{font-size:1.12rem}.area .desc{font-size:.76rem;color:var(--muted);font-weight:400}.area-bottom{width:100%;display:flex;justify-content:space-between;font-size:.76rem;color:var(--muted)}.area.done{border-color:#8fbea5}.side{display:flex;flex-direction:column;gap:18px}.wallet{background:#ecf3db;border:1px solid #dce7c7;border-radius:26px;padding:26px}.wallet h2{margin-bottom:24px}.wallet .amount{font-size:3.3rem;letter-spacing:-2px;font-weight:800;line-height:1.2}.wallet .amount small{font-size:1rem;letter-spacing:0;margin-left:6px}.wallet p{font-size:.8rem;color:#526544;margin:14px 0}.meter{height:10px;background:#d6e2c4;overflow:hidden;border-radius:10px;margin-top:20px}.meter span{height:100%;display:block;background:#557639;border-radius:10px}.wallet button{width:100%;font-size:.87rem;margin-top:5px}.rules{padding:22px 24px;border:1px solid var(--line);border-radius:24px;background:white}.rules p,.rules li{font-size:.81rem;line-height:1.65;color:var(--muted)}.rules ul{padding-left:18px;margin-bottom:0}.reward-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #edf0e9;font-size:.85rem}.reward-row:last-child{border:0}.footer{display:flex;justify-content:space-between;gap:15px;font-size:.76rem;color:var(--muted);margin-top:29px;line-height:1.6}.footer button{min-height:44px;padding:0 10px;background:none;font-size:inherit;color:var(--muted)}.study{max-width:820px;margin:auto}.study-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.study-progress{display:flex;gap:6px;margin:22px 0}.study-progress span{height:7px;flex:1;border-radius:10px;background:#dce5dc}.study-progress .filled{background:#328465}.question{background:white;border:1px solid var(--line);border-radius:28px;padding:34px;text-align:center}.question h1{font-size:1.45rem;line-height:1.6;margin-bottom:24px;letter-spacing:-.4px}.expression{font-size:3.5rem;font-weight:750;letter-spacing:-1px;margin:24px 0}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.choice{background:#f4f7ed;border:2px solid #dfe6d4;min-height:78px;font-size:1.3rem;word-break:keep-all}.input-answer{display:block;width:100%;max-width:480px;margin:24px auto 18px;border:2px solid #b9c9bd;border-radius:16px;background:#fff;padding:17px;text-align:center;font-size:1.5rem;color:var(--ink);min-height:65px}.input-answer.numeric{max-width:250px;font-size:2.6rem;caret-color:transparent}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:360px;margin:0 auto 20px}.keypad button{background:#edf2e8;font-size:1.3rem}.wide{width:100%;max-width:480px;min-height:62px}.listen{background:#e9f1fa;color:#294e72;min-height:72px;font-size:1.15rem;padding:18px 35px}.hint{font-size:.83rem;color:var(--muted);margin:18px 0}.feedback{border-radius:18px;padding:20px;margin-top:22px;background:#eef5df;font-size:1.03rem;line-height:1.65}.feedback.retry{background:#fff1d9}.feedback button{margin-top:13px}.reveal{font-size:1.6rem;font-weight:750;display:block;margin:12px}.clock-face{width:230px;max-width:100%;height:auto;margin:12px auto;display:block}.calendar{max-width:400px;margin:15px auto;border:1px solid var(--line);border-radius:18px;padding:18px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-grid span{display:grid;place-items:center;min-height:34px;font-size:.9rem}.calendar-grid .marked{background:var(--green);color:white;border-radius:50%;font-weight:800}.calendar-label{font-size:1.1rem;margin-bottom:12px;font-weight:700}.calendar-grid .weekday{color:var(--muted);font-size:.8rem}.coins{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:30px 0}.coin{width:76px;height:76px;border-radius:50%;background:#eceff0;border:5px double #9ba8aa;display:grid;place-items:center;font-weight:800;font-size:1.1rem;color:#455659}.coin.big{width:90px;height:90px;background:#f3ebce;border-color:#b9a971}.result{text-align:center;padding:28px}.result h1{margin:15px 0}.score{font-size:4rem;color:var(--green);font-weight:800;margin:24px}.score small{font-size:1.3rem}.score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.score-grid div{background:#edf3e9;border-radius:16px;padding:17px;font-size:.9rem}.score-grid b{display:block;font-size:1.2rem;margin-top:7px}.coupon{border:2px dashed #91ac72;background:#f5f9ee;border-radius:18px;padding:22px;margin:16px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.coupon.used{opacity:.6}.coupon p{margin:8px 0 0;font-size:.8rem}.coupon button{font-size:.83rem}.back-row{margin-bottom:25px}.empty{text-align:center;padding:36px 15px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:26px;padding:30px;width:560px;max-width:calc(100% - 30px);max-height:85vh;color:var(--ink);box-shadow:0 20px 80px #12291e30}dialog::backdrop{background:#152a2266}dialog label{display:block;margin:18px 0 9px;font-size:.9rem}dialog input,dialog select{width:100%;padding:15px;border:1px solid #aabcae;border-radius:12px;background:white;color:var(--ink);min-height:54px}dialog .buttons{display:flex;gap:12px;margin-top:22px}dialog .buttons button{flex:1}dialog p{font-size:.87rem;color:var(--muted)}.error{color:#9a3427!important;background:#fff0e9;padding:12px;border-radius:10px}.parent-section{padding:18px 0;border-top:1px solid var(--line)}.parent-section h3{margin-bottom:12px}.mistakes{font-size:.85rem;line-height:1.9}.badge{display:inline-block;padding:5px 10px;background:#e6efde;border-radius:9px;margin:4px;font-size:.85rem}.startup{max-width:550px;margin:60px auto;padding:30px}.offline{color:#725811}.sound-status{min-height:1.7em;font-size:.83rem;color:#695831}#notice{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:90vw;background:#263e33;color:white;padding:14px 22px;border-radius:14px;box-shadow:0 8px 35px #0002;z-index:10;display:none}#notice.visible{display:block}a{color:var(--green)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1300px){.shell{padding-top:42px}.top{margin-bottom:42px}.area{min-height:200px}.today{padding:31px}}
@media(max-width:1000px){.shell{padding:24px}.layout{grid-template-columns:1fr 260px;gap:18px}.areas{grid-template-columns:repeat(2,1fr)}.today{align-items:flex-start;flex-direction:column;gap:18px}.today .primary{width:100%}.area{min-height:167px}.wallet{padding:22px}.intro h1{font-size:2rem}}
@media(max-width:680px){:root{font-size:17px}.shell{padding:20px 16px}.top{margin-bottom:28px}.brand{font-size:.95rem}.brand-mark{width:38px;height:38px}.top .quiet{padding:10px 12px}.intro{display:block}.intro h1{font-size:1.8rem}.small-tag{display:none}.layout{grid-template-columns:1fr}.today{padding:24px}.side{display:grid;grid-template-columns:1fr}.area{padding:18px}.question{padding:24px 16px}.question h1{font-size:1.2rem}.expression{font-size:2.8rem}.choices{grid-template-columns:1fr}.choice{min-height:65px}.score-grid{grid-template-columns:repeat(2,1fr)}.footer{flex-direction:column}.coupon{flex-direction:column;align-items:stretch}.study-top{gap:10px;font-size:.88rem}.study-top button{padding:10px 15px}.result{padding:16px 0}.wallet .amount{font-size:3rem}}
.keypad button{padding:10px 8px;white-space:nowrap}
@media(min-width:900px) and (max-height:900px){.shell{padding-top:20px}.top{margin-bottom:22px}.question:has(.keypad){display:grid;grid-template-columns:1fr 1fr;gap:0 26px;padding:25px}.question:has(.keypad) h1{grid-column:1/-1;margin-bottom:0}.question:has(.keypad) .expression{align-self:center;font-size:2.8rem}.question:has(.keypad) #answer-form{grid-column:2;grid-row:2}.question:has(.keypad) .input-answer{padding:8px;margin:15px auto;font-size:2rem;min-height:65px}.question:has(.keypad) .keypad{gap:8px;margin-bottom:15px}.question:has(.keypad) .keypad button{min-height:52px}.question:has(.keypad) .feedback{grid-column:1/-1}.question:has(.keypad) .wide{min-height:56px}}
@media(prefers-reduced-motion:no-preference){.question,.result{animation:appear .18s ease-out}@keyframes appear{from{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
