@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./baloo-2-latin-500-normal-CmLZ27r7.woff2)format("woff2"),url(./baloo-2-latin-500-normal-BSdEhq8m.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(./baloo-2-latin-600-normal-tIfxVoAe.woff2)format("woff2"),url(./baloo-2-latin-600-normal-B4tNaogw.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./baloo-2-latin-700-normal-CqTg7A15.woff2)format("woff2"),url(./baloo-2-latin-700-normal-Ld3Zm3l2.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-latin-800-normal-BbF3Etk1.woff2)format("woff2"),url(./baloo-2-latin-800-normal-B8BXfZF7.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./baloo-2-vietnamese-500-normal-Cj5RGu3k.woff2)format("woff2"),url(./baloo-2-vietnamese-500-normal-ClyrcyJC.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(./baloo-2-vietnamese-600-normal-C5EqHgu0.woff2)format("woff2"),url(./baloo-2-vietnamese-600-normal-CGkk4Wtx.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./baloo-2-vietnamese-700-normal-h4tlcePq.woff2)format("woff2"),url(./baloo-2-vietnamese-700-normal-DoF59Mjc.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-vietnamese-800-normal-ConLnEgt.woff2)format("woff2"),url(./baloo-2-vietnamese-800-normal-GQACmpuv.woff)format("woff")}@font-face{font-family:Mochiy Pop One;font-style:normal;font-display:swap;font-weight:400;src:url(./mochiy-pop-one-latin-400-normal-B-XEkQuZ.woff2)format("woff2"),url(./mochiy-pop-one-latin-400-normal-D7_dByCQ.woff)format("woff")}:root{--paper:#fff7fa;--grid:#f8dde9;--cell:32px;--ruled:#e8d2ec;--ruled-soft:#f6e8f0;--margin-line:#ffa9c8;--margin-x:40px;--card:#fff;--ink:#4b2a5c;--ink-soft:#8c6e9b;--berry:#ff5c9a;--berry-soft:#ffd3e4;--lilac:#b9a2ff;--lilac-soft:#e9e1ff;--mint:#5fd8b0;--mint-soft:#d5f6ea;--butter:#ffd45e;--butter-soft:#fff1c4;--peach:#ffb08a;--peach-soft:#ffe6da;--line:3px;--press:6px;--r-lg:28px;--r-md:20px;--cjk:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC";--display:"Mochiy Pop One", "Baloo 2", var(--cjk), system-ui, sans-serif;--body:"Baloo 2", var(--cjk), system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root:lang(vi){--display:"Baloo 2", system-ui, sans-serif}:root:lang(vi) :is(.title,.mode-title,.mode-name,.start,.fb-title,.dialog h2,.cheer,.score,.panel h2,.book-title,.ws-title,.caption,.caption b,.sheet-title){font-weight:800}:root:lang(zh-TW){--cjk:"PingFang TC", "Microsoft JhengHei", "Noto Sans TC", "Noto Sans CJK TC", "Source Han Sans TC"}:root:lang(ja){--cjk:"Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", "Noto Sans JP", "Noto Sans CJK JP"}:root:lang(ko){--cjk:"Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", "Noto Sans CJK KR"}:root:is(:lang(ja),:lang(ko)) :is(.tagline,.mode-title,.mode-name,.mode-blurb){word-break:keep-all;overflow-wrap:anywhere;line-break:strict}:root:lang(ja) .lv-name{line-break:strict}:root:is(:lang(zh),:lang(ja),:lang(ko)) :is(.title,.mode-title,.mode-name,.start,.fb-title,.dialog h2,.cheer,.score,.panel h2,.book-title,.ws-title,.caption,.caption b,.sheet-title){font-weight:700}*{box-sizing:border-box}html,body{height:100%;margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--body);color:var(--ink);background-color:var(--paper);background-image:linear-gradient(90deg, transparent var(--margin-x), var(--margin-line) var(--margin-x), var(--margin-line) calc(var(--margin-x) + 2px), transparent calc(var(--margin-x) + 2px)), linear-gradient(var(--ruled) 1.5px, transparent 1.5px), linear-gradient(90deg, var(--ruled) 1.5px, transparent 1.5px), linear-gradient(var(--ruled-soft) 1px, transparent 1px);background-size:100% var(--cell), var(--cell) var(--cell), var(--cell) var(--cell), var(--cell) calc(var(--cell) / 4);background-repeat:repeat-y,repeat,repeat,repeat;background-position:0 0, var(--margin-x) 0, var(--margin-x) 0, 0 0;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}#app{height:100%}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:4px solid var(--lilac);outline-offset:3px}button:disabled{cursor:default}h1,h2,p{margin:0}.puffy{border:var(--line) solid var(--ink);border-radius:var(--r-md);background:var(--card);box-shadow:0 var(--press) 0 var(--ink);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-weight:800;line-height:1.15;transition:transform 60ms,box-shadow 60ms}.puffy:active:not(:disabled){transform:translateY(calc(var(--press) - 2px));box-shadow:0 2px 0 var(--ink)}.puffy.berry{background:var(--berry);color:#fff}.puffy.mint{background:var(--mint)}.puffy.lilac{background:var(--lilac-soft)}.puffy.butter{background:var(--butter)}.puffy.peach{background:var(--peach)}.icon-btn{--press:4px;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;padding:0;font-size:22px;display:grid}.screen{height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;display:flex;position:relative;overflow:hidden}.topbar{z-index:2;flex:none;align-items:center;gap:12px;min-height:52px;display:flex;position:relative}.topbar .spacer{flex:1}.dots{flex:1;justify-content:center;align-items:center;gap:clamp(3px,.8vw,8px);min-width:0;margin:0;padding:0;list-style:none;display:flex}.dots li{aspect-ratio:1;border:2.5px solid var(--ink-soft);background:var(--card);border-radius:50%;width:clamp(12px,2.4vw,22px);transition:transform .2s}.dots li.ok{background:var(--butter);border-color:var(--ink)}.dots li.miss{background:var(--peach);border-color:var(--ink)}.dots li.now{border-color:var(--berry);border-width:4px;transform:scale(1.25)}.dots li.review{border-radius:4px}.count{color:var(--ink-soft);text-align:right;min-width:3.5em;font-size:18px;font-weight:800}.cat svg{width:100%;height:100%;display:block;overflow:visible}.cat.bounce svg{animation:.5s cubic-bezier(.3,1.6,.5,1) hop}@keyframes hop{40%{transform:translateY(-14px)}}.quiz-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding-top:12px;display:flex}.q-pane{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-height:0;padding-top:56px;padding-bottom:8px;display:flex;overflow:hidden auto}.q-pane>.q-card{margin-block:auto}.q-card{background:var(--card);border:var(--line) solid var(--ink);border-radius:var(--r-lg);box-shadow:0 8px 0 var(--berry-soft);text-align:center;padding:clamp(20px,4cqi,40px) clamp(16px,4cqi,40px);position:relative;container-type:inline-size}.tape{background:repeating-linear-gradient(45deg,#b9a2ffbf 0 10px,#ffffffbf 10px 20px);border-radius:3px;width:110px;height:30px;position:absolute;top:-14px;left:22px;transform:rotate(-5deg)}.review-tag{white-space:nowrap;background:var(--butter);border:2.5px solid var(--ink);border-radius:999px;padding:0 14px;font-size:16px;font-weight:800;position:absolute;top:-16px;left:50%;transform:translate(-50%)rotate(-2deg)}.peek{aspect-ratio:120/130;width:clamp(76px,18cqi,128px);position:absolute;bottom:calc(100% - 22px);right:clamp(16px,8cqi,64px)}.bubble{white-space:nowrap;background:var(--card);border:var(--line) solid var(--ink);border-radius:18px;padding:4px 14px;font-size:clamp(14px,3.2cqi,20px);font-weight:700;position:absolute;top:18%;right:calc(100% + 8px)}.bubble:after{content:"";background:var(--card);border-right:var(--line) solid var(--ink);border-top:var(--line) solid var(--ink);width:14px;height:14px;position:absolute;top:50%;right:-10px;transform:translateY(-50%)rotate(45deg)}.q-label{color:var(--ink-soft);margin:0 0 4px;font-size:clamp(16px,3.6cqi,24px);font-weight:700}.equation{font-weight:800;font-size:max(24px, min(clamp(40px, min(14cqi, 14dvh), 120px), calc(100cqi / (var(--digits,6) * .6 + 3))));font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:.22em;line-height:1;display:flex}.equation .op{color:var(--berry)}.slot{border:4px dashed var(--lilac);background:var(--lilac-soft);min-width:1.7em;height:1.25em;color:var(--ink);border-radius:.25em;justify-content:center;align-items:center;padding:0 .15em;display:inline-flex}.slot.sign{border-radius:50%;min-width:1.25em}.slot.typing:empty:after{content:"";background:var(--lilac);border-radius:2px;width:4px;height:.8em;animation:1s steps(2,end) infinite blink}.slot.right{border:4px solid var(--mint);background:var(--mint-soft)}.slot.wrong{border:4px solid var(--peach);background:var(--peach-soft);animation:.4s wobble}@keyframes blink{50%{opacity:0}}@keyframes wobble{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.story{text-align:left;align-items:center;gap:clamp(10px,3cqi,24px);margin-bottom:clamp(8px,2cqi,16px);display:flex}.story-pic{flex:none;font-size:clamp(48px,13cqi,96px);line-height:1;animation:2.4s ease-in-out infinite hop}.story-text{font-size:clamp(20px,5cqi,34px);font-weight:700;line-height:1.25}.story-ask{justify-content:center;align-items:center;gap:.3em;font-size:clamp(22px,6cqi,44px);font-weight:800;display:flex}.story-ask .slot{font-size:1.4em}.hint-row{justify-content:center;margin-top:14px;display:flex}.hint-btn{--press:4px;padding:8px 18px;font-size:18px}.pad-pane{flex-direction:column;gap:12px;display:flex}.pad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.key{height:clamp(52px,8.2dvh,84px);font-size:clamp(26px,4.4dvh,40px)}.key.side{background:var(--lilac-soft);font-size:clamp(20px,3.2dvh,28px)}.check{height:clamp(56px,8.5dvh,80px);font-size:clamp(22px,3.6dvh,30px)}.check:disabled{background:var(--berry-soft);color:var(--ink-soft);box-shadow:0 var(--press) 0 var(--ink-soft);border-color:var(--ink-soft)}.choices{grid-template-columns:1fr 1fr;gap:14px;display:grid}.choice{font-variant-numeric:tabular-nums;min-height:clamp(72px,15dvh,140px);font-size:clamp(32px,6.5dvh,60px)}.signs{grid-template-columns:repeat(3,1fr)}.choice small{color:var(--ink-soft);font-size:15px;font-weight:700;line-height:1.1;display:block}.choice.picked-wrong{background:var(--peach-soft);border-color:var(--ink-soft);color:var(--ink-soft);box-shadow:0 2px 0 var(--ink-soft);text-decoration:line-through;text-decoration-thickness:4px}.choice.picked-right{background:var(--mint)}.feedback{padding:18px max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));border-top:var(--line) solid var(--ink);z-index:5;flex-wrap:wrap;align-items:center;gap:16px;animation:.25s ease-out slideup;display:flex;position:absolute;bottom:0;left:0;right:0}.feedback.good{background:var(--mint-soft)}.feedback.bad{background:var(--peach-soft)}.fb-face{aspect-ratio:120/130;flex:none;width:64px}.fb-text{overflow-wrap:break-word;flex:1;min-width:180px}.fb-title{font-family:var(--display);font-size:clamp(20px,3.4dvh,28px)}.fb-sub{font-size:20px;font-weight:700}.fb-actions{gap:12px;display:flex}.fb-actions .puffy{min-height:56px;padding:10px 24px;font-size:20px}@keyframes slideup{0%{transform:translateY(100%)}}.scrim{z-index:10;background:#4b2a5c73;animation:.2s fadein;position:fixed;inset:0}@keyframes fadein{0%{opacity:0}}.sheet{background:var(--card);border-top:var(--line) solid var(--ink);border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:92dvh;padding:20px 20px max(20px, env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;gap:14px;animation:.3s ease-out slideup;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.sheet-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sheet-title{font-family:var(--display);white-space:nowrap;flex:1;font-size:22px}.sheet-foot .puffy{white-space:nowrap}.style-pick button{min-height:44px;padding:4px 14px;font-size:17px}@media (width<=600px){.style-pick{flex-basis:100%;order:3}.style-pick button{flex:1}}.stage{border-radius:var(--r-md);background:var(--paper);background-image:linear-gradient(var(--grid) 1.5px, transparent 1.5px), linear-gradient(90deg, var(--grid) 1.5px, transparent 1.5px);border:2.5px dashed var(--lilac);--u:clamp(11px, min(3.2vmin, 4dvh), 30px);background-size:24px 24px;flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:clamp(12px,3vw,32px);min-height:220px;padding:36px 16px 16px;display:flex;position:relative}.legend{color:var(--ink-soft);align-items:center;gap:16px;font-size:17px;font-weight:800;display:flex;position:absolute;top:8px;left:12px}.legend>span{align-items:center;gap:6px;display:flex}.legend .cube{--u:14px}.group{align-items:flex-end;gap:calc(var(--u) * .5);flex-wrap:wrap;justify-content:center;display:flex}.rod{width:var(--u);grid-template-rows:repeat(10, var(--u));border:2px solid var(--ink);background:var(--lilac);border-radius:4px;display:grid;position:relative;overflow:hidden}.rod i{border-bottom:1.5px solid #4b2a5c59}.rod i:last-child{border-bottom:0}.legend .rod{border-width:2px;border-radius:3px;grid-template-rows:repeat(10,3px);width:12px}.legend .rod i{border-bottom-width:0}.ones{grid-template-columns:repeat(5, var(--u));align-content:end;gap:3px;display:grid}.cube{width:var(--u);height:var(--u);border:2px solid var(--ink);background:var(--lilac);border-radius:4px;position:relative}.rod.b,.cube.b{background:var(--berry)}.rod.new,.cube.new{background:var(--mint)}.rod.new{animation:.5s cubic-bezier(.3,1.6,.5,1) pop}.mark{outline:3px solid var(--butter);outline-offset:1px;box-shadow:0 0 0 6px #ffd45e59}.gone{opacity:.28}.gone:after{content:"✕";color:var(--ink);font-weight:800;font-size:calc(var(--u) * .8);place-items:center;line-height:1;display:grid;position:absolute;inset:0}.rod.gone:after{font-size:calc(var(--u) * 1.4)}.plus{font-weight:800;font-size:calc(var(--u) * 2.4);color:var(--berry);align-self:center}.tally{font-weight:800;font-size:calc(var(--u) * 1.8);align-self:center}.text-scene{font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;gap:4px;font-size:clamp(36px,7dvh,64px);font-weight:800;display:flex}.text-scene .arrow{color:var(--berry);font-size:.6em}@keyframes pop{0%{transform:scale(0)}}.hundreds{grid-template-columns:repeat(3,auto);align-content:end;gap:4px;display:grid}.flat{width:calc(var(--u) * 5);aspect-ratio:1;border:2px solid var(--ink);background-color:var(--lilac);background-image:linear-gradient(#4b2a5c4d 1px,#0000 1px),linear-gradient(90deg,#4b2a5c4d 1px,#0000 1px);background-size:10% 10%;border-radius:4px;position:relative}.flat.b{background-color:var(--berry)}.flat.new{background-color:var(--mint);animation:.5s cubic-bezier(.3,1.6,.5,1) pop}.flat.gone:after{font-size:calc(var(--u) * 3)}.legend .flat{background-size:20% 20%;width:16px}.stage.has-flats{--u:clamp(8px, min(2.4vmin, 2.8dvh), 17px)}.stage.many{--u:clamp(6px, min(1.9vmin, 2.2dvh), 13px);gap:clamp(8px,2vw,18px)}.dot-array{--d:clamp(8px, min(calc(40dvh / var(--rows)), calc(36vw / (var(--cols) + 2))), 30px);gap:calc(var(--d) * .35);flex-direction:column;display:flex}.dot-row{align-items:center;gap:calc(var(--d) * .35);display:flex}.dot-row i{width:var(--d);height:var(--d);border:2px solid var(--ink);background:var(--lilac);border-radius:50%;flex:none}.dot-row.b i{background:var(--berry)}.dot-total{min-width:2ch;font-weight:800;font-size:max(16px, calc(var(--d) * .9));color:var(--ink-soft);margin-left:.5em;animation:.3s ease-out pop}.column-sum{grid-template-columns:auto repeat(var(--w), 1.05em);font-weight:800;font-size:clamp(26px, min(11dvh, calc(48dvh / var(--rows))), 76px);font-variant-numeric:tabular-nums;line-height:1.2;display:grid}.col-row{display:contents}.col-label{text-align:right;color:var(--berry);padding-right:.3em}.col-cell{text-align:center;position:relative}.col-cell.on{background:var(--butter-soft)}.col-row:first-child .col-cell.on{border-radius:.2em .2em 0 0}.col-row:last-child .col-cell.on{border-radius:0 0 .2em .2em}.col-cell.new,.col-cell.carry{color:var(--berry)}.carry>*{font-size:.45em;line-height:1.1}.carry>.col-cell{width:auto}.rule>*{border-top:4px solid var(--ink)}.division .rule>.col-label{border-top:0}.bracket>.col-cell{border-top:4px solid var(--ink)}.bracket>.col-label+.col-cell{border-left:4px solid var(--ink);border-top-left-radius:.4em}.bracket>.col-label{color:var(--ink);padding-right:.15em}.col-cell.dot:before{content:"";background:var(--berry);border-radius:50%;width:.17em;height:.17em;margin-left:-.085em;position:absolute;top:-.04em;left:50%}.caption{font-family:var(--display);text-align:center;font-size:clamp(20px,3.4dvh,30px);line-height:1.3}.caption b{color:var(--berry);font-weight:400}.sheet-foot{align-items:center;gap:12px;display:flex}.steps{flex:1;justify-content:center;gap:8px;display:flex}.steps span{background:var(--grid);border:2px solid var(--ink-soft);border-radius:50%;width:12px;height:12px;transition:width .2s}.steps span.on{background:var(--berry);border-color:var(--ink);border-radius:8px;width:28px}.sheet-foot .puffy{min-height:56px;padding:8px 22px;font-size:20px}.dialog{background:var(--card);border:var(--line) solid var(--ink);border-radius:var(--r-lg);text-align:center;flex-direction:column;align-items:center;gap:14px;width:min(440px,100vw - 32px);padding:24px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dialog .cat{aspect-ratio:120/130;width:96px}.dialog h2{font-family:var(--display);font-size:26px;font-weight:400}.dialog-actions{flex-wrap:wrap;gap:12px;width:100%;display:flex}.dialog-actions .puffy{flex:auto;min-height:56px;padding-inline:12px;font-size:20px}.home-body,.mode-body{-webkit-overflow-scrolling:touch;margin-inline:-10px;padding-inline:10px;overflow:hidden auto}.home-body>:first-child,.mode-body>:first-child{margin-top:auto}.home-body>:last-child,.mode-body>:last-child{margin-bottom:auto}.home-body{flex-direction:column;flex:1;gap:18px;min-height:0;padding-bottom:8px;display:flex}.hero{justify-content:center;align-items:center;gap:16px;padding-top:8px;display:flex}.hero>div{min-width:0}.hero .cat{aspect-ratio:120/130;flex:none;width:clamp(72px,min(16dvh,30vw),180px)}.title{font-family:var(--display);font-size:clamp(28px,min(7dvh,10.5vw),64px);font-weight:400;line-height:1.05}.title span{white-space:nowrap;display:inline-block}.title span:nth-child(odd){color:var(--berry);transform:rotate(-4deg)}.title span:nth-child(2n){transform:rotate(3deg)}.tagline{color:var(--ink-soft);margin-top:6px;font-size:clamp(18px,2.6dvh,22px);font-weight:600}.home-pick{flex-direction:column;gap:16px;display:flex}.levels{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.level{text-align:left;border-radius:var(--r-md);border:var(--line) solid var(--ink);box-shadow:0 0 0 5px var(--card), 0 0 0 calc(5px + var(--line)) var(--ink-soft);margin:8px;padding:12px 16px;position:relative}.level:first-child{background:var(--mint-soft);transform:rotate(-1.5deg)}.level:nth-child(2){background:var(--butter-soft);transform:rotate(1deg)}.level:nth-child(3){background:var(--lilac-soft);transform:rotate(1.5deg)}.level:nth-child(4){background:var(--berry-soft);transform:rotate(-1deg)}.level:nth-child(5){background:var(--peach-soft);transform:rotate(1deg)}.level:nth-child(6){background:var(--mint-soft);transform:rotate(-1.5deg)}.level[aria-checked=true]{box-shadow:0 0 0 5px var(--card), 0 0 0 calc(5px + var(--line)) var(--berry)}.level[aria-checked=true]:after{content:"✓";background:var(--berry);color:#fff;border:var(--line) solid var(--ink);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid;position:absolute;top:-14px;right:-14px}.lv-name{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;padding-right:14px;font-size:clamp(18px,2.8dvh,24px);font-weight:800;line-height:1.15;display:block}.lv-eg{white-space:nowrap;color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:clamp(22px,3.6dvh,32px);font-weight:700;display:block}.lv-stars{letter-spacing:-2px;font-size:14px;position:absolute;bottom:8px;right:12px}.length{justify-content:center;align-items:center;gap:12px;font-size:20px;font-weight:700;display:flex}.seg{border:var(--line) solid var(--ink);background:var(--card);border-radius:999px;display:flex;overflow:hidden}.seg button{background:0 0;border:0;min-height:48px;padding:8px 20px;font-size:20px;font-weight:800}.seg button+button{border-left:var(--line) solid var(--ink)}.seg button[aria-checked=true]{background:var(--butter)}.start{height:clamp(60px,9dvh,84px);font-family:var(--display);font-size:clamp(24px,4dvh,34px);font-weight:400}.lang-pick{--press:4px;border-radius:999px;flex:none;align-items:center;gap:4px;height:48px;padding:0 12px;font-size:20px;display:inline-flex;position:relative}.lang-short{color:var(--ink-soft);font-size:15px;font-weight:800}.lang-pick select{opacity:0;cursor:pointer;appearance:none;border:0;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.lang-pick:focus-within{outline:4px solid var(--lilac);outline-offset:3px}.lang-pick:active{transform:translateY(calc(var(--press) - 2px));box-shadow:0 2px 0 var(--ink)}.mode-btn{white-space:nowrap;--press:4px;height:48px;color:var(--berry);border-radius:999px;padding:0 16px;font-size:22px}.mode-btn span{color:var(--ink-soft);font-size:14px}.mode-body{flex-direction:column;flex:1;align-items:center;gap:clamp(16px,4dvh,40px);min-height:0;padding-bottom:8px;display:flex}.mode-hero{align-items:center;gap:16px;max-width:100%;display:flex}.mode-hero .cat{aspect-ratio:120/130;flex:none;width:clamp(72px,14dvh,140px)}.mode-title{font-family:var(--display);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;min-width:0;font-size:clamp(26px,5dvh,44px);font-weight:400;line-height:1.15}.modes{gap:24px;width:min(100%,880px);display:grid}.mode-card{border:var(--line) solid var(--ink);border-radius:var(--r-lg);box-shadow:0 8px 0 var(--ink);flex-direction:column;align-items:center;gap:4px;padding:clamp(16px,3dvh,30px) 20px;transition:translate 60ms,box-shadow 60ms;display:flex}.mode-card.m-plus{background:var(--mint-soft);rotate:-1.2deg}.mode-card.m-all{background:var(--lilac-soft);rotate:1.2deg}.mode-card:active{box-shadow:0 2px 0 var(--ink);translate:0 6px}.mode-card[aria-checked=true]{outline:5px solid var(--berry);outline-offset:5px}.mode-signs{gap:10px;display:flex}.mode-signs span{aspect-ratio:1;background:var(--card);border:var(--line) solid var(--ink);width:clamp(44px,8.5dvh,76px);color:var(--berry);border-radius:18px;place-items:center;font-size:clamp(28px,6dvh,52px);font-weight:800;line-height:1;display:grid}.mode-signs span:nth-child(2n){color:var(--ink);rotate:5deg}.mode-signs span:nth-child(3){rotate:-4deg}.mode-name{font-family:var(--display);margin-top:8px;font-size:clamp(22px,4dvh,32px)}.mode-blurb{color:var(--ink-soft);font-size:clamp(16px,2.4dvh,20px);font-weight:700}.res-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:8px 4px 4px;display:flex;overflow-y:auto}.res-hero{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.stars{align-items:flex-end;gap:6px;display:flex}.stars svg{width:clamp(56px,10dvh,96px);height:auto;animation:.5s cubic-bezier(.3,1.6,.5,1) both starpop}.stars svg:nth-child(2){width:clamp(72px,13dvh,124px);animation-delay:.25s}.stars svg:nth-child(3){animation-delay:.5s}.stars svg.empty path:first-child{fill:var(--grid);stroke:var(--ink-soft)}@keyframes starpop{0%{transform:scale(0)rotate(-30deg)}}.cheer{font-family:var(--display);color:var(--berry);font-size:clamp(22px,4dvh,32px)}.score{font-family:var(--display);font-size:clamp(30px,6dvh,52px)}.res-hero .cat{aspect-ratio:120/130;width:clamp(80px,14dvh,140px)}.panel{background:var(--card);border:var(--line) solid var(--ink);border-radius:var(--r-lg);padding:16px 18px}.panel h2{font-family:var(--display);margin-bottom:10px;font-size:20px;font-weight:400}.panel h2 small{font-family:var(--body);color:var(--ink-soft);margin-left:8px;font-size:15px;font-weight:600}.qgrid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;display:grid}.qgrid button{border:2.5px solid var(--ink);background:var(--mint-soft);border-radius:16px;justify-content:center;align-items:center;gap:2px;height:52px;font-size:18px;font-weight:800;display:flex}.qgrid button.x{background:var(--peach)}.skills{gap:8px;margin:0;padding:0;list-style:none;display:grid}.skills li{flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:19px;font-weight:700;display:flex}.skill-name{overflow-wrap:break-word;min-width:0}.skill-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-left:auto;font-size:16px}.chip{border:2px solid var(--ink);white-space:nowrap;border-radius:999px;padding:2px 12px;font-size:15px;font-weight:800}.chip.great{background:var(--butter)}.chip.grow{background:var(--mint-soft)}.sticker-row{align-items:center;gap:14px;display:flex}.sticker{background:var(--berry-soft);border:5px solid var(--card);width:76px;height:76px;box-shadow:0 0 0 var(--line) var(--ink), 4px 6px 0 #4b2a5c40;border-radius:50%;flex:none;place-items:center;font-size:40px;display:grid;transform:rotate(-10deg)}.sticker-row .sticker{animation:.7s cubic-bezier(.3,1.6,.5,1) .8s both peel}@keyframes peel{0%{transform:rotate(-60deg)scale(0)}}.res-actions{flex-wrap:wrap;gap:12px;display:flex}.res-actions .puffy{flex:1;min-width:180px;height:64px;font-size:21px}.book-body{flex:1;min-height:0;padding:8px 4px;overflow-y:auto}.book-title{font-family:var(--display);text-align:center;font-size:clamp(26px,4.5dvh,40px);font-weight:400}.book-count{text-align:center;color:var(--ink-soft);margin:4px 0 18px;font-size:18px;font-weight:700}.book{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:18px;max-width:900px;margin:0 auto;padding:8px;display:grid}.book .sticker{justify-self:center}.book .sticker:nth-child(3n){background:var(--mint-soft);transform:rotate(8deg)}.book .sticker:nth-child(3n+1){background:var(--lilac-soft)}.book .sticker.empty{border:3px dashed var(--ink-soft);box-shadow:none;color:var(--ink-soft);background:0 0;font-size:28px;font-weight:800;transform:none}@media (orientation:landscape){.quiz-body{flex-direction:row;align-items:center;gap:clamp(20px,4vw,56px);padding:12px clamp(0px,2vw,32px) 0}.q-pane{flex:1.25;height:100%}.pad-pane{flex:1;max-width:460px}.key{height:clamp(44px,12dvh,100px);font-size:clamp(24px,5.5dvh,46px)}.check{height:clamp(48px,11dvh,88px)}.choice{min-height:clamp(64px,22dvh,170px)}.scrim .sheet{border:var(--line) solid var(--ink);border-radius:var(--r-lg);width:min(1040px,92vw);max-height:90dvh;animation:none;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.sheet{grid-template-rows:auto 1fr auto;grid-template-columns:1.4fr 1fr;column-gap:24px;display:grid}.sheet-head{grid-column:1/-1}.stage{grid-row:2/4;height:min(58dvh,480px);min-height:0}.caption{text-align:left;align-self:center}.sheet-foot{flex-wrap:wrap;grid-column:2}.sheet-foot .steps{flex-basis:100%;justify-content:flex-start;margin-bottom:6px}.home-body{flex-direction:row;align-items:center;gap:clamp(24px,5vw,72px);padding:0 clamp(10px,3vw,48px)}.home-body>*{margin-block:auto}.hero{text-align:center;flex-direction:column;flex:1}.hero .cat{width:clamp(100px,30dvh,240px)}.home-pick{flex:1.2}.levels.n6{grid-template-columns:repeat(3,minmax(0,1fr))}.levels.n6 .level{margin:6px;padding:10px 12px}.levels.n6 .lv-name{font-size:clamp(16px,2.4dvh,21px)}.levels.n6 .lv-eg{font-size:clamp(18px,3dvh,27px)}.modes{grid-template-columns:1fr 1fr}.res-body{flex-direction:row;align-items:stretch;gap:clamp(20px,3vw,40px);padding:8px clamp(0px,2vw,32px) 0;overflow:hidden}.res-hero{flex:.8;justify-content:center}.res-side{flex-direction:column;flex:1.2;justify-content:center;gap:14px;min-height:0;padding:4px;display:flex;overflow-y:auto}}.res-side{flex-direction:column;gap:14px;display:flex}@media (orientation:landscape) and (height<=500px){.peek .bubble,.hint-row{display:none}.q-pane{padding-top:40px}.peek{width:64px}.pad{gap:6px}.pad-pane{gap:8px}.hero .cat,.res-hero .cat{display:none}.levels{gap:6px}.level{margin:6px;padding:4px 12px}.skills li{font-size:16px}.panel{padding:10px 14px}.res-body{overflow-y:auto}.res-side{justify-content:flex-start}.stage{height:auto}.fb-face{display:none}.feedback{padding-top:10px;padding-bottom:10px}.story-pic{font-size:40px}.mode-hero .cat{display:none}.modes{gap:16px}.levels.n6 .lv-eg{font-size:18px}}@media (orientation:portrait) and (width<=440px){.bubble,.count{display:none}.dots li{border-width:2px;flex:1 1 0;width:auto;max-width:16px}.sheet-foot .puffy{padding:8px 16px}.fb-actions{width:100%}.fb-actions .puffy{flex:1;padding:10px 12px;font-size:18px}.levels{gap:8px}.level{margin:6px;padding:8px 12px}.levels.n6 .level{margin:5px;padding:5px 10px}.levels.n6 .lv-name{font-size:16px}.topbar{gap:6px}.topbar .icon-btn{width:44px;height:44px;font-size:20px}.topbar .lang-pick,.topbar .mode-btn{height:44px;padding:0 10px}.mode-btn{font-size:20px}.mode-title{font-size:clamp(20px,6.6vw,34px)}.mode-hero .cat{width:64px}.sheet-foot{flex-wrap:wrap;row-gap:10px}.sheet-foot .steps{flex-basis:100%;order:-1}.sheet-foot .puffy{flex:1}.levels.n6 .lv-eg{font-size:21px}.res-actions .puffy{min-width:140px}.print-bar .seg button{padding:6px 14px}}@media (orientation:portrait) and (height<=700px){.home-body,.hero{gap:10px}.hero .cat{width:clamp(56px,11dvh,80px)}.tagline{margin-top:2px;font-size:15px}.home-pick{gap:10px}.levels.n6{gap:2px 8px}.levels.n6 .level{margin:5px;padding:4px 10px}.levels.n6 .lv-name{font-size:15px}.levels.n6 .lv-eg{font-size:min(20px,5.4vw)}.length{font-size:17px}.seg button{min-height:44px;padding:6px 16px;font-size:18px}.start{height:56px;font-size:24px}.quiz-body{gap:10px;padding-top:4px}.q-pane{padding-top:44px}.peek{width:60px}.q-card{padding-block:14px}.hint-row{margin-top:8px}.hint-btn{padding:6px 16px;font-size:16px}.story-pic{font-size:40px}.story-text{font-size:18px}.pad{gap:6px}.pad-pane{gap:8px}.key{height:46px}.check{height:50px}.sheet{gap:8px;padding-top:14px}.stage{min-height:150px;padding-top:30px}.stage.has-flats{--u:7px}.sheet-foot .puffy{min-height:48px}}@media (orientation:portrait) and (width<=350px){.topbar .icon-btn{width:40px;height:40px;font-size:18px}.topbar .lang-pick{height:40px;padding:0 8px}.topbar .mode-btn{height:40px;padding:0 8px;font-size:18px}.lang-pick>[aria-hidden]:first-child{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.print-screen{height:auto;min-height:100dvh;overflow:visible}.print-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.print-bar .length{flex-wrap:wrap;row-gap:6px;margin:0 8px}.print-bar .length>span{white-space:nowrap}.print-bar .puffy{min-height:52px;padding:6px 20px;font-size:19px}.sheet-paper{color:#222;border:2px solid var(--grid);width:100%;max-width:800px;font-family:var(--body);background:#fff;border-radius:12px;margin:0 auto;padding:36px 40px}.ws-head{border-bottom:2px solid #222;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;padding-bottom:10px;display:flex}.ws-title{font-family:var(--display);font-size:26px;font-weight:400}.ws-sub{color:#555;font-size:15px}.ws-lines{text-align:right;gap:6px;font-size:16px;display:grid}.ws-grid{grid-template-columns:1fr 1fr;gap:22px 40px;display:grid}.ws-q{font-variant-numeric:tabular-nums;break-inside:avoid;align-items:baseline;gap:10px;font-size:24px;font-weight:700;display:flex}.ws-q .n{color:#777;flex:none;width:1.6em;font-size:15px}.ws-q .box{vertical-align:middle;border:2px solid #999;border-radius:6px;min-width:2.2em;height:1.3em;display:inline-block}.ws-q .box.circle{border-radius:50%;min-width:1.3em}.ws-q.wide{grid-column:1/-1}.ws-q .ws-story{margin:0;font-size:20px;font-weight:500;line-height:1.5}.ws-q .ws-story .ask{font-weight:700}.ws-q .ws-story .box{font-size:24px}@media screen and (width<=560px){.sheet-paper{padding:20px 16px}.ws-grid{grid-template-columns:1fr}.ws-head{flex-direction:column;align-items:flex-start}.ws-lines{text-align:left}}.sheet-paper+.sheet-paper{break-before:page;margin-top:24px}.ws-answers .ws-title{margin-bottom:12px}.ws-key{color:#333;break-inside:avoid;font-size:16px}.ws-key+.ws-key{border-top:2px dashed #ccc;margin-top:14px;padding-top:10px}.ws-key h3{margin:0 0 6px;font-size:16px}.ws-key ol{columns:5;font-variant-numeric:tabular-nums;margin:0;padding-left:1.8em;font-weight:700}@media print{@page{margin:14mm}body{background:#fff}.no-print{display:none!important}.print-screen{padding:0}.sheet-paper{border:0;max-width:none;padding:0}.sheet-paper+.sheet-paper{margin-top:0}.ws-grid{gap:18px 40px}}
