.mth-root{position:fixed;inset:0;height:100dvh;display:flex;flex-direction:row;gap:clamp(10px,1.8vw,20px);background:linear-gradient(160deg,#ffdff1,#ecdfff 45%,#d6edff);font-family:var(--font-inter,"Inter"),system-ui,sans-serif;color:#8b4a7f;padding:max(10px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(14px,calc(12px + env(safe-area-inset-bottom, 0px))) max(10px,env(safe-area-inset-left,0px));overflow:hidden;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mth-tools{flex:none;width:92px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:6px;background:hsla(0,0%,100%,.82);border:3px solid #ffd9a8;border-radius:24px;box-shadow:0 8px 24px #efd2a84d;padding:8px 6px;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.mth-tools::-webkit-scrollbar{display:none}.mth-tool-top{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%}.mth-tool-top .game-back,.mth-tool-top .game-bgm{margin-left:0;width:44px;height:42px;border-radius:14px}.mth-tool-group{width:100%}.mth-tool-group,.mth-tool-stack{display:flex;flex-direction:column;align-items:center;gap:3px}.mth-tool-label{font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#c78a00;line-height:1}.mth-label-auto{color:#1f9d60}.mth-label-a{color:#ff3fa0}.mth-label-b{color:#2f8fff}.mth-tbtn{width:46px;height:36px;border-radius:12px;border:3px solid #e6d6f5;background:#fff;font-size:19px;font-weight:900;color:#b9a6d6;cursor:pointer;display:grid;place-items:center;line-height:1;transition:transform .12s,background .2s,border-color .2s,color .2s,box-shadow .2s}.mth-tbtn:active{transform:scale(.88)}.mth-tbtn-new{width:46px;height:38px;background:#ffe9b8;border-color:#ffc93c;font-size:20px;box-shadow:0 3px 0 rgba(224,138,0,.2)}.mth-tbtn-auto{width:48px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:2px 0;border-color:#a5e6c5;color:#21965f}.mth-tbtn-auto:not(.on){background:#f6f2fb;border-color:#d6c8eb;color:#8c7aa8;opacity:.78}.mth-tbtn-auto.on{background:#22b573;border-color:#22b573;color:#fff;box-shadow:0 0 0 3px #22b57342;transform:scale(1.04)}.mth-auto-icon{font-size:15px;line-height:1}.mth-auto-state{font-size:9px;font-weight:900;letter-spacing:.05em;line-height:1}.mth-tbtn-digit{width:44px;height:33px;font-size:17px;border-radius:11px}.mth-tbtn-digit.digit-a{border-color:#ffabd6;color:#ff3fa0}.mth-tbtn-digit.digit-a:not(.on){opacity:.58}.mth-tbtn-digit.digit-a.on{background:#ff3fa0;border-color:#ff3fa0;color:#fff;box-shadow:0 0 0 3px #ff3fa04d;transform:scale(1.06)}.mth-tbtn-digit.digit-b{border-color:#a5cdff;color:#2f8fff}.mth-tbtn-digit.digit-b:not(.on){opacity:.58}.mth-tbtn-digit.digit-b.on{background:#2f8fff;border-color:#2f8fff;color:#fff;box-shadow:0 0 0 3px #2f8fff4d;transform:scale(1.06)}.mth-tbtn-op{width:46px;height:34px;font-size:20px;border-radius:11px}.mth-tbtn-op.op-add{border-color:#ffabd6;color:#ff3fa0}.mth-tbtn-op.op-sub{border-color:#a5cdff;color:#2f8fff}.mth-tbtn-op.op-mul{border-color:#cfaef5;color:#9d4ee8}.mth-tbtn-op.op-div{border-color:#ffd0a0;color:#f58f1f}.mth-tbtn-op:not(.on){opacity:.55}.mth-tbtn-op.op-add.on{background:#ff3fa0;border-color:#ff3fa0;color:#fff;box-shadow:0 0 0 3px #ff3fa04d}.mth-tbtn-op.op-sub.on{background:#2f8fff;border-color:#2f8fff;color:#fff;box-shadow:0 0 0 3px #2f8fff4d}.mth-tbtn-op.op-mul.on{background:#9d4ee8;border-color:#9d4ee8;color:#fff;box-shadow:0 0 0 3px #9d4ee84d}.mth-tbtn-op.op-div.on{background:#f58f1f;border-color:#f58f1f;color:#fff;box-shadow:0 0 0 3px #f58f1f4d}.mth-tbtn-op.on{transform:scale(1.05)}.mth-tbtn.is-deny{animation:mth-wiggle .4s ease}.mth-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:clamp(8px,1.3vh,14px)}.mth-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.mth-title{margin:0;font-size:clamp(20px,3vw,28px);font-weight:900;color:#d052a4;white-space:nowrap}.mth-title-text{background:linear-gradient(90deg,#ff3fa0,#a05ce8,#2f8fff);-webkit-background-clip:text;background-clip:text;color:transparent}.mth-streak-bar{display:flex;align-items:center;gap:clamp(8px,1.2vw,14px);background:linear-gradient(135deg,#fffdf4,#fff3cc);border:3px solid #ffc93c;border-radius:999px;padding:5px 12px 5px 8px;box-shadow:0 4px 14px rgba(233,175,40,.26);transition:transform .25s,box-shadow .25s,border-color .25s}.mth-streak-bar.is-hot{background:linear-gradient(135deg,#fff6db,#ffe0ec 55%,#ece2ff);border-color:#ff69b4;box-shadow:0 5px 18px rgba(255,82,168,.32)}.mth-streak-bar.is-milestone{animation:mth-combo-glow .7s ease-in-out 2}.mth-stars-badge{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#ffae00,#ff6b00);color:#fff;border-radius:999px;padding:4px 12px;font-weight:900;box-shadow:inset 0 2px 4px hsla(0,0%,100%,.45),0 3px 0 rgba(190,80,0,.28)}.mth-streak-bar.is-hot .mth-stars-badge{background:linear-gradient(135deg,#ff3fa0,#ff8a00);box-shadow:inset 0 2px 4px hsla(0,0%,100%,.5),0 3px 0 rgba(180,30,100,.3)}.mth-stars-badge.is-pop{animation:mth-pop .45s cubic-bezier(.34,1.56,.64,1)}.mth-stars-icon{font-size:clamp(18px,2.2vw,24px);line-height:1}.mth-stars-num{font-size:clamp(18px,2.4vw,24px);line-height:1;text-shadow:0 2px 3px rgba(0,0,0,.18)}.mth-stars-tag{font-size:10px;font-weight:900;letter-spacing:.06em;background:hsla(0,0%,100%,.26);padding:2px 6px;border-radius:999px}.mth-star-slots{display:flex;align-items:center;gap:3px}.mth-star-slot{font-size:clamp(16px,2vw,22px);line-height:1;color:#e4c988;transition:transform .2s,color .2s}.mth-star-slot.is-filled{color:#ffb800;filter:drop-shadow(0 2px 3px rgba(255,160,0,.35))}.mth-star-slot.is-latest{animation:mth-star-bounce .55s cubic-bezier(.34,1.56,.64,1)}.mth-streak-target{display:inline-flex;align-items:center;gap:4px;background:hsla(0,0%,100%,.85);border:2px solid #ffd57e;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:900;color:#b86b00}.mth-target-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#c88a2b}.mth-target-val{font-size:14px;color:#d45b00}.mth-eq-card{flex-shrink:0;background:#ffffffeb;border:4px solid #ff8ecb;border-radius:24px;box-shadow:0 6px 20px #e9b7d859;display:grid;place-items:center;padding:clamp(8px,1.3vh,14px) 18px}.mth-eq-card.is-shake{animation:mth-shake .5s ease}.mth-eq{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(8px,1.5vw,18px);animation:mth-fade-in .3s ease}.mth-eq-num{font-size:clamp(34px,5.2vw,64px);font-weight:900;line-height:1.05;color:#8a4fd8}.mth-eq-num:first-of-type{color:#ff3fa0}.mth-eq-op+.mth-eq-num{color:#2f8fff}.mth-eq-op{font-size:clamp(28px,4.2vw,50px);font-weight:800;line-height:1;color:#b05ce8}.mth-eq-ans{font-size:clamp(34px,5.2vw,64px);font-weight:900;line-height:1.05;color:#d052a4;min-width:1.2em;text-align:center}.mth-eq-ans:not(.is-revealed),.mth-visual-q:not(.is-revealed){display:inline-block;animation:mth-float 1.8s ease-in-out infinite}.mth-eq-ans.is-revealed{color:#2eae6f;animation:mth-pop .45s cubic-bezier(.34,1.56,.64,1)}.mth-banner{padding:5px 16px;border-radius:999px;font-size:clamp(14px,2vw,20px);font-weight:900;white-space:nowrap;animation:mth-banner-in .38s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 12px #00000018}.mth-banner.is-good{background:#d9f7e6;border:2px solid #55c98a;color:#1f8f56}.mth-banner.is-bad{background:#ffe9ef;border:2px solid #ff9db9;color:#d0527f}.mth-visual{flex:1;min-height:0;background:#ffffffeb;border:4px solid #8ec2ff;border-radius:26px;box-shadow:0 6px 20px #a8c4ef59;padding:clamp(10px,1.5vh,16px) clamp(12px,1.8vw,20px);display:flex;flex-direction:column;justify-content:center;overflow:hidden}.mth-visual-grid{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:1fr;align-items:center;gap:clamp(10px,1.6vw,18px);overflow-y:auto;scrollbar-width:none}.mth-visual-grid::-webkit-scrollbar{display:none}@media (min-width:660px){.mth-visual.has-explain .mth-visual-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);overflow-y:hidden}}.mth-vstack{flex-direction:column;justify-content:center;gap:clamp(6px,1vh,10px);width:100%;animation:mth-fade-in .35s ease}.mth-vrow,.mth-vstack{display:flex;min-width:0}.mth-vrow{align-items:center;gap:10px}.mth-vop-row{text-align:center;font-size:clamp(26px,3.6vw,44px);font-weight:900;line-height:1;color:#b05ce8}.mth-vrow-count{flex-shrink:0;min-width:2em;text-align:right;font-size:clamp(24px,3.2vw,42px);font-weight:900;color:#8a4fd8}.mth-vrow-count.is-a{color:#ff3fa0}.mth-vrow-count.is-b{color:#2f8fff}.mth-vrow-result{min-height:clamp(34px,4.2vh,50px)}.mth-visual-q{font-size:clamp(28px,3.8vw,48px);font-weight:900;color:#2f8fff}.mth-visual-q.is-revealed{color:#2eae6f;animation:mth-pop .45s cubic-bezier(.34,1.56,.64,1)}.mth-pile-items{flex:1;display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:center;gap:3px;background:#f5effe;border:3px dashed #c9a9f0;border-radius:18px;padding:clamp(6px,1vh,10px) 12px;font-size:clamp(20px,2.8vw,32px);line-height:1.15}.mth-visual.has-explain .mth-pile-items{font-size:clamp(17px,2.1vw,25px);padding:6px 10px}.mth-pile-items span{display:inline-block;animation:mth-pop .35s cubic-bezier(.34,1.56,.64,1) backwards}.mth-legend{align-self:center;font-size:13px;font-weight:800;color:#8a6bc0;background:#f6efff;border:2px solid #e1d0fa;border-radius:999px;padding:2px 12px}.mth-explain{background:#fff9e6;border:3px dashed #ffc93c;border-radius:22px;padding:clamp(8px,1.2vh,14px) clamp(10px,1.5vw,16px);display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;max-height:100%;overflow-y:auto;animation:mth-fade-in .35s ease}.mth-explain-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.mth-explain-title{font-size:clamp(15px,2vw,20px);font-weight:900;color:#d98200}.mth-next{flex-shrink:0;font-size:clamp(14px,1.8vw,18px);font-weight:900;color:#fff;background:linear-gradient(135deg,#ff3fa0,#b05ce8);border:none;border-radius:999px;padding:7px 18px;cursor:pointer;box-shadow:0 4px 0 #c23a86;animation:mth-pulse 1.4s ease-in-out infinite;transition:transform .12s}.mth-next:active{transform:translateY(2px) scale(.96)}.mth-explain-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.mth-explain-lines li{font-size:clamp(14px,1.8vw,18px);font-weight:800;line-height:1.4;color:#7a5c2e;background:hsla(0,0%,100%,.72);border-radius:12px;padding:5px 10px;animation:mth-fade-in .38s ease backwards}.mth-col-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px}.mth-col-table{border-collapse:separate;border-spacing:4px 2px;background:#fff;border:3px solid #ffe08a;border-radius:18px;padding:6px 10px;box-shadow:0 4px 12px rgba(224,160,0,.12)}.mth-ct-op-col{width:24px;text-align:center;font-weight:900;padding:0 2px}.mth-ct-head{background:#f5effe;border:2px solid #dec8fa;border-radius:10px;padding:3px 8px;min-width:52px;text-align:center}.mth-ct-icon{display:block;font-size:14px;line-height:1.1}.mth-ct-place{display:block;font-weight:900;letter-spacing:.04em;color:#7c4fd0}.mth-ct-helper-label,.mth-ct-place{font-size:10px;text-transform:uppercase}.mth-ct-helper-label{font-weight:800;color:#b57c00}.mth-ct-helper-cell{text-align:center;height:22px}.mth-ct-badge{display:inline-block;font-size:12px;font-weight:900;padding:1px 7px;border-radius:999px;line-height:1.25}.mth-ct-badge.is-carry{background:#ffe8f5;border:2px solid #ff8ec8;color:#d62883}.mth-ct-badge.is-borrow{background:#e3f2ff;border:2px solid #6ab2ff;color:#1668c7}.mth-ct-badge.is-lent{background:#fff0d4;border:2px solid #ffbe55;color:#b86800}.mth-ct-digit{text-align:center;font-size:clamp(20px,2.5vw,28px);font-weight:900;line-height:1.15;padding:2px 8px;border-radius:8px;background:#faf7ff}.mth-ct-digit.is-a{color:#ff3fa0}.mth-ct-digit.is-b{color:#2f8fff}.mth-ct-digit .is-struck{position:relative;opacity:.42;text-decoration:line-through;text-decoration-thickness:3px;text-decoration-color:#e03e52}.mth-ct-op-sym{font-size:clamp(18px,2.2vw,24px);font-weight:900;color:#9d4ee8}.mth-ct-row-ans td{border-top:3px solid #cbb2ea;padding-top:4px}.mth-ct-digit.is-ans{background:#e6faef;color:#188a50}.mth-col-steps{flex:1;min-width:170px;display:flex;flex-direction:column;gap:5px}.mth-col-step{display:flex;flex-wrap:wrap;align-items:center;gap:5px;background:hsla(0,0%,100%,.85);border:2px solid #ffe49e;border-radius:12px;padding:4px 9px;font-size:clamp(12px,1.5vw,15px);font-weight:800;color:#6b4c24;animation:mth-fade-in .35s ease backwards}.mth-step-place{color:#9b51e0;font-weight:900}.mth-step-expr{color:#3d2c5e;font-weight:900}.mth-step-note{margin-left:auto;background:#fff0c2;color:#b86200;font-size:11px;font-weight:900;padding:1px 7px;border-radius:999px}.mth-choices{flex-shrink:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.5vw,16px)}.mth-choice{font-size:clamp(26px,4vw,44px);font-weight:900;line-height:1.05;background:#fff;border-radius:22px;padding:clamp(12px,1.8vh,22px) 8px;cursor:pointer;transition:transform .12s,box-shadow .12s,background .2s,border-color .2s}.mth-choice:first-child{border:4px solid #ff7fbe;box-shadow:0 5px 0 #f05aa0;color:#e8398f}.mth-choice:nth-child(2){border:4px solid #57a7ff;box-shadow:0 5px 0 #3a8ae6;color:#1f7ae0}.mth-choice:nth-child(3){border:4px solid #b07ff0;box-shadow:0 5px 0 #9560db;color:#7c3fd8}.mth-choice:nth-child(4){border:4px solid #ffb054;box-shadow:0 5px 0 #ef9530;color:#e07f12}.mth-choice:active{transform:translateY(3px);box-shadow:0 1px 0 #c9b2e6!important}.mth-choice.is-correct{background:#c8f5dd;border-color:#2eae6f;box-shadow:0 5px 0 #23935c;color:#14804a;animation:mth-pop .5s cubic-bezier(.34,1.56,.64,1)}.mth-choice.is-wrong{background:#ffdde7;border-color:#ff6f9d;box-shadow:0 5px 0 #e85585;color:#d0345e;animation:mth-shake .5s ease}.mth-choice.is-dim{opacity:.45}.mth-combo-burst{position:fixed;top:max(18px,calc(env(safe-area-inset-top, 0px) + 12px));left:50%;transform:translateX(-50%);z-index:75;pointer-events:none;animation:mth-combo-pop 2.5s cubic-bezier(.22,1,.36,1) forwards}.mth-combo-card{display:flex;align-items:center;gap:14px;padding:12px 26px;border-radius:999px;border:4px solid #fff;background:linear-gradient(135deg,#ffbe0b,#ff5400 50%,#ff007f);color:#fff;box-shadow:0 12px 32px rgba(255,42,127,.45),0 0 0 6px rgba(255,214,10,.45)}.mth-combo-burst.tier-rainbow .mth-combo-card{background:linear-gradient(135deg,#ff3fa0,#9d4ee8 50%,#2f8fff);box-shadow:0 12px 34px rgba(157,78,232,.5),0 0 0 6px rgba(255,105,180,.42)}.mth-combo-burst.tier-crown .mth-combo-card{background:linear-gradient(135deg,#ff9e00,#ff007f 50%,#7b2cbf);box-shadow:0 14px 38px rgba(123,44,191,.55),0 0 0 7px rgba(255,209,102,.55)}.mth-combo-emoji{font-size:clamp(32px,4.5vw,48px);line-height:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.25));animation:mth-wiggle .5s ease-in-out infinite}.mth-combo-texts{display:flex;flex-direction:column;align-items:center;line-height:1.1}.mth-combo-badge{font-size:clamp(22px,3.4vw,34px);font-weight:900;letter-spacing:.04em;text-shadow:0 3px 6px rgba(0,0,0,.28)}.mth-combo-title{font-size:clamp(14px,2vw,19px);font-weight:800;color:#fff8d6}.mth-confetti{position:fixed;inset:0;pointer-events:none;z-index:60;overflow:hidden}.mth-confetti span{position:absolute;top:-8%;animation:mth-fall 1.8s ease-in forwards}@keyframes mth-pop{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes mth-star-bounce{0%{transform:scale(.2) rotate(-25deg)}65%{transform:scale(1.45) rotate(12deg)}to{transform:scale(1) rotate(0deg)}}@keyframes mth-combo-glow{0%,to{transform:scale(1)}50%{transform:scale(1.06);box-shadow:0 0 0 8px rgba(255,190,11,.45),0 8px 24px rgba(255,63,160,.45)}}@keyframes mth-combo-pop{0%{opacity:0;transform:translate(-50%,-28px) scale(.5)}14%{opacity:1;transform:translate(-50%) scale(1.08)}24%{opacity:1;transform:translate(-50%) scale(1)}84%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-18px) scale(.88)}}@keyframes mth-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes mth-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}@keyframes mth-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes mth-banner-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes mth-fall{to{transform:translate(var(--dx,0),115vh) rotate(620deg);opacity:.85}}@keyframes mth-float{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-6px) rotate(4deg)}}@keyframes mth-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media (max-height:740px){.mth-tools{width:82px;padding:6px 4px;gap:4px}.mth-tool-top .game-back,.mth-tool-top .game-bgm{width:40px;height:40px;border-radius:12px}.mth-tbtn-new{width:42px;height:33px;font-size:18px}.mth-tbtn-auto{width:42px;height:34px}.mth-auto-icon{font-size:13px}.mth-auto-state{font-size:8px}.mth-tbtn-digit{width:40px;height:28px;font-size:15px;border-radius:9px}.mth-tbtn-op{width:40px;height:29px;font-size:17px;border-radius:9px}.mth-eq-card{padding:6px 14px}.mth-choice{padding:10px 6px}}@media (max-width:560px){.mth-tools{width:74px;padding:6px 4px}.mth-star-slots{display:none}.mth-choices{grid-template-columns:repeat(2,1fr);gap:8px}.mth-choice{padding:10px 6px;font-size:24px;border-radius:18px}}@media (prefers-reduced-motion:reduce){.mth-root *{animation-duration:.01ms!important;animation-iteration-count:1!important}}