.developer-entry{right:var(--space-2);bottom:var(--space-2);z-index:50;background:var(--color-bg);position:fixed}.developer-lessons{height:100dvh;overflow:auto}.developer-lessons__toolbar{z-index:20;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--color-bg);border-bottom:2px solid;flex-wrap:wrap;display:flex;position:sticky;top:0}.developer-lessons__toolbar span{font-size:16px}.developer-lessons button,.developer-lessons select,.developer-entry{font:inherit;color:var(--color-fg-strong);background:var(--color-bg);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-1) var(--space-2)}.developer-lessons button:disabled{opacity:.5}.developer-lessons__catalog{padding:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.developer-lessons__catalog ul{padding-left:var(--space-3)}.developer-lessons__catalog li{margin-block:var(--space-2)}.developer-lessons .lesson{height:auto;min-height:0;overflow:visible}.sound-control{--sound-height:var(--face-size);--sound-width:calc(var(--sound-height) + var(--space-1) + 96px + var(--space-3));width:var(--sound-height);height:var(--sound-height);color:var(--color-fg-strong);flex:none;position:relative}.sound-control[data-open=true]{z-index:1}.sound-control--bar{--sound-height:calc(var(--button-min-height) - var(--space-2))}.sound-control__skin{--sound-round:calc(var(--sound-height) / 2);width:var(--sound-width);height:var(--sound-height);box-sizing:border-box;border:var(--stroke-2) solid var(--color-border-strong);border-radius:var(--sound-round);background:var(--color-bg);pointer-events:none;transition:clip-path var(--duration-normal) var(--ease-out);position:absolute;top:0}.sound-control[data-grow=left] .sound-control__skin{transform-origin:100%;clip-path:inset(0 0 0 calc(100% - var(--sound-height)) round var(--sound-round));right:0}.sound-control:is([data-grow=right],[data-grow=right-wide]) .sound-control__skin{transform-origin:0;clip-path:inset(0 calc(100% - var(--sound-height)) 0 0 round var(--sound-round));left:0}.sound-control[data-open=true] .sound-control__skin{clip-path:inset(0 0 0 0 round var(--sound-round));transition:clip-path var(--duration-goo) var(--ease-goo);animation:sound-squash var(--duration-goo) linear}@keyframes sound-squash{0%{transform:scaleY(1)}30%{transform:scaleY(.84)}65%{transform:scaleY(1.06)}to{transform:scaleY(1)}}.sound-control[data-instant=true] .sound-control__skin{transition:none;animation:none}.sound-button{z-index:1;width:var(--sound-height);height:var(--sound-height);color:inherit;transition:transform var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:0}.sound-button:after{content:"";box-sizing:border-box;border:var(--stroke-2) solid var(--color-border-strong);pointer-events:none;transition:opacity var(--duration-fast) var(--ease-out);border-radius:50%;position:absolute;inset:0}.sound-control[data-open=true] .sound-button:after{opacity:0}.sound-control[data-grow=left] .sound-button{right:0}.sound-control:is([data-grow=right],[data-grow=right-wide]) .sound-button{left:0}.sound-button svg{width:60%;height:60%}.sound-button[data-muted=true],.sound-control[data-muted=true] .sound-control__range{color:var(--color-muted-fg)}.sound-button:active{transform:translateY(1px)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.sound-button:hover{transform:translateY(-2px)rotate(-.5deg)}}.sound-control__range{--sound-track:8px;--sound-thumb:20px;z-index:1;width:96px;height:var(--sound-height);color:var(--color-fg-strong);cursor:pointer;appearance:none;opacity:0;visibility:hidden;background:0 0;margin:0;transition:opacity 80ms linear,visibility 0s linear 80ms;position:absolute;top:0}.sound-control[data-grow=left] .sound-control__range{right:calc(var(--sound-height) + var(--space-1))}.sound-control:is([data-grow=right],[data-grow=right-wide]) .sound-control__range{left:calc(var(--sound-height) + var(--space-1))}.sound-control[data-open=true] .sound-control__range{opacity:1;visibility:visible;transition:opacity .16s linear .14s,visibility}.sound-control[data-open=true][data-instant=true] .sound-control__range{transition:none}.sound-control__range::-webkit-slider-runnable-track{height:var(--sound-track);box-shadow:inset 0 0 0 var(--stroke-2) currentColor;border-radius:calc(var(--sound-track) / 2);--sound-fill-end:calc(var(--sound-thumb) / 2 + (100% - var(--sound-thumb)) * var(--sound-level,.5));background:linear-gradient(to right, currentColor var(--sound-fill-end), transparent var(--sound-fill-end))}.sound-control__range[data-empty=true]::-webkit-slider-runnable-track{background:0 0}.sound-control__range[data-empty=true]::-moz-range-progress{background:0 0}.sound-control__range::-webkit-slider-thumb{width:var(--sound-thumb);height:var(--sound-thumb);box-sizing:border-box;margin-top:calc((var(--sound-track) - var(--sound-thumb)) / 2);border:var(--stroke-2) solid currentColor;background:var(--color-bg);appearance:none;border-radius:50%}.sound-control__range::-moz-range-track{height:var(--sound-track);box-shadow:inset 0 0 0 var(--stroke-2) currentColor;border-radius:calc(var(--sound-track) / 2);background:0 0}.sound-control__range::-moz-range-progress{height:var(--sound-track);border-radius:calc(var(--sound-track) / 2);background:currentColor}.sound-control__range::-moz-range-thumb{box-sizing:border-box;width:var(--sound-thumb);height:var(--sound-thumb);border:var(--stroke-2) solid currentColor;background:var(--color-bg);border-radius:50%}@media (width<=767px){.sound-control--bar{--sound-height:var(--button-min-height)}.sound-control[data-grow=right-wide] .sound-control__skin{transform-origin:100%;clip-path:inset(0 0 0 calc(100% - var(--sound-height)) round var(--sound-round));left:auto;right:0}.sound-control[data-grow=right-wide][data-open=true] .sound-control__skin{clip-path:inset(0 0 0 0 round var(--sound-round))}.sound-control[data-grow=right-wide] .sound-button{left:auto;right:0}.sound-control[data-grow=right-wide] .sound-control__range{left:auto;right:calc(var(--sound-height) + var(--space-1))}}@media (prefers-reduced-motion:reduce){.sound-control__skin,.sound-control[data-open=true] .sound-control__skin{transition:none;animation:none}.sound-control__range,.sound-control[data-open=true] .sound-control__range{transition:opacity var(--duration-fast) linear, visibility 0s}}.corner{--corner-size:calc(var(--button-min-height) - var(--space-2));top:var(--space-4);right:var(--space-4);z-index:var(--z-corner);align-items:center;gap:var(--space-3);display:flex;position:fixed}.corner__face{width:var(--corner-size);height:var(--corner-size);border:var(--stroke-2) solid var(--color-border-strong);border-radius:var(--radius-blob);background:var(--color-bg);color:var(--color-fg-strong);flex:none;place-items:center;padding:0;display:grid}.corner__face svg{width:66%;height:66%}.corner__face:active{transform:translateY(1px)}.corner__face-space{width:var(--corner-size);height:var(--corner-size);flex:none}@media (width<=767px){.corner{--corner-size:var(--button-min-height);position:absolute}}.toast{z-index:var(--z-toast);width:max-content;max-width:calc(100vw - 2 * var(--space-4));padding:var(--space-2) var(--space-6);border:var(--stroke-3) solid var(--color-border-strong);border-radius:var(--radius-hand);background:var(--color-now);color:var(--color-fg-strong);font-weight:var(--text-strong-weight);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);margin:0;position:fixed;bottom:96px;left:50%;transform:translate(-50%,8px)}.toast.is-shown{opacity:1;transform:translate(-50%)}@media (width<=1023px){.toast{bottom:calc(var(--card-height,84px) + var(--space-3))}}.meter{height:14px;padding:var(--stroke-2);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-hand);background:linear-gradient(var(--meter-color,var(--color-now)), var(--meter-color,var(--color-now))) left / var(--space-1) 100% no-repeat;background-origin:content-box;background-clip:content-box;display:block;overflow:hidden}.meter-fill{background:var(--meter-color,var(--color-now));width:100%;height:100%;transform:scaleX(var(--meter-ratio,0));transform-origin:0;transition:transform var(--duration-meter) var(--ease-out);border-radius:6px;display:block}.panel{width:min(var(--panel-width), calc(100vw - 2 * var(--space-4)));padding:var(--space-6);border:var(--stroke-3) solid var(--color-border-strong);border-radius:var(--radius-hand);background:var(--color-bg);color:var(--color-fg)}.panel--levelup{text-align:center}.panel--drawer,.panel--account{width:min(var(--drawer-width), 100vw);border-width:0 0 0 var(--stroke-3);border-radius:0;max-width:100vw;height:100dvh;max-height:none;margin:0;inset:0 0 0 auto}.panel--account{width:min(var(--account-drawer-width), 100vw)}.panel--drawer[open],.panel--account[open]{gap:var(--space-3);animation:drawer-in var(--duration-normal) var(--ease-out);flex-direction:column;display:flex}@media (width<=767px){.panel--drawer,.panel--account{border-left-width:0;width:100vw}}.panel::backdrop{background:var(--color-scrim)}.panel[open]{animation:panel-in var(--duration-normal) var(--ease-out)}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)rotate(-1deg)}}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}}.panel-eyebrow{align-items:center;gap:var(--space-2);color:var(--color-muted-fg);font-size:var(--text-small);display:flex}.panel-eyebrow-icon{width:24px;height:24px;color:var(--color-fg-strong)}.panel-eyebrow-icon svg{width:100%;height:100%}.panel-title{font-size:var(--text-title);font-weight:var(--text-title-weight);line-height:var(--text-title-line)}.panel-learn{margin-top:var(--space-2)}.panel-note{margin-top:var(--space-3);font-size:var(--text-small)}.panel-wide{width:100%;margin-top:var(--space-5);display:block}.panel-wide.button--text{margin-top:var(--space-2)}.panel-stack{gap:var(--space-2);margin-top:var(--space-5);display:grid}.levelup-avatar{justify-content:center;display:flex}.account-top{grid-template-columns:var(--account-photo-size) minmax(0, 1fr);align-items:center;gap:var(--space-3);min-height:calc(var(--account-photo-size) + var(--space-2));padding-right:var(--button-min-height);flex:none;display:grid;position:relative}.account-top__photo{color:var(--color-fg-strong);display:flex}.account-top__text{gap:var(--space-1);min-width:0;display:grid}.account-top__name{font-size:var(--text-body);font-weight:var(--text-strong-weight);line-height:var(--text-body-line);color:var(--color-fg-strong);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.account-top__level{font-size:var(--text-small);line-height:var(--text-small-line);margin:0}.account-close{width:44px;height:44px;color:var(--color-fg-strong);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:0;right:0}.account-close svg{width:24px;height:24px}.account-close:active{transform:translateY(1px)}.account-tabs{gap:var(--space-2);flex:none;display:flex}.account-tab{flex:1 1 0;min-width:0}.account-tab[aria-selected=true]{border-width:var(--stroke-3);border-color:var(--color-border-strong);background:var(--color-now)}.account-kinds{gap:2px}.account-kinds .account-tab{letter-spacing:-.05em;white-space:nowrap;padding-left:0;padding-right:0}.account-content{flex-direction:column;flex:1;min-height:0;display:flex}.account-tabpanel{gap:var(--space-3);flex-direction:column;display:flex}.account-tabpanel[hidden]{display:none}.account-learning-grade{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.account-learning-grade select{min-height:var(--button-min-height);padding:0 var(--space-2);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);background:var(--color-bg);color:var(--color-fg-strong);font:inherit}.account-section{gap:var(--space-1);display:grid}.account-section__title{font-size:var(--text-small);font-weight:var(--text-strong-weight);line-height:var(--text-small-line);margin:0}.account-subjects{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.account-subject{align-items:center;gap:var(--space-2);height:32px;font-size:var(--text-small);display:flex}.account-subject__dot{border-radius:50%;flex:none;width:8px;height:8px}.account-subject__name{flex:none;width:64px}.account-subject__meter{flex:1;min-width:0}.account-subject__count{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:6em}.account-subject__level{flex:none;min-width:2.5em}.account-small{font-size:var(--text-small);line-height:var(--text-small-line);overflow-wrap:anywhere;margin:0}.account-small--muted{color:var(--color-muted-fg)}.account-small:empty{display:none}.account-actions{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.account-confirm{gap:var(--space-2);padding:var(--space-3);background:var(--color-bg);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-hand);flex-direction:column;display:flex}.account-confirm__question{font-size:var(--text-body);font-weight:var(--text-strong-weight);margin:0}.account-confirm__actions{gap:var(--space-2);display:flex}.account-avatar{gap:var(--space-2);flex-direction:column;display:flex}.account-slot{min-height:calc(var(--photo-cheki-width) + var(--space-6));justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.account-confirm__text{text-align:center;font-size:var(--text-body);line-height:var(--text-body-line);margin:0}.account-confirm__text:empty{display:none}.account-confirm{gap:var(--space-2);display:flex}.account-confirm .button{padding-left:var(--space-3);padding-right:var(--space-3);flex:1}.account-avatar>.account-slot+.account-confirm__text:not(:empty){margin-top:var(--space-1)}.account-choices-area{gap:var(--space-2);min-height:calc(2 * var(--photo-choice-size) + var(--space-2) + 2 * var(--text-small) * 1.2);align-content:start;display:grid}.account-choices{grid-template-columns:repeat(5, minmax(0, var(--photo-choice-size)));justify-content:center;align-items:start;gap:var(--space-2);display:grid}.account-choices-area>.account-choices:only-child{justify-content:start}.account-row-head{font-size:var(--text-small);color:var(--color-muted-fg);margin:0;line-height:1.2}.account-row-head+.account-choices{margin-top:calc(var(--space-2) * -1)}.account-choice{width:100%;height:var(--photo-choice-size);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);background:var(--color-bg);color:var(--color-fg-strong);transition:transform var(--duration-fast) var(--ease-out);place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.account-choice[aria-checked=true],.account-choice[aria-pressed=true]{border-width:var(--stroke-3);border-color:var(--color-border-strong);background:var(--color-now)}.account-choice:active{transform:translateY(1px)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.account-choice:not(.account-choice--locked):hover{transform:translateY(-2px)rotate(-.5deg)}}.account-choice--locked{grid-template-rows:var(--photo-choice-size) auto;height:auto;color:var(--color-muted-fg);background:0 0;border:0;display:grid}.account-choice--locked:active{transform:none}.account-choice__lock{border:var(--stroke-2) dashed var(--color-border);border-radius:var(--radius-slot);place-items:center;display:grid}.account-choice__lock svg{width:50%;height:50%}.account-choice__level{font-size:var(--text-small);line-height:var(--text-small-line)}.account-choice__gear{place-items:center;width:100%;height:100%;display:grid}.account-choice__gear svg{width:75%;height:75%}.account-choice__face{width:calc(var(--photo-choice-size) - var(--space-3));height:calc(var(--photo-choice-size) - var(--space-3));display:block}.account-choice__stamp{width:calc(var(--photo-choice-size) - var(--space-5));height:calc(var(--photo-choice-size) - var(--space-5))}.account-scaled{display:block;position:relative;overflow:hidden}.account-scaled__inner{transform:scale(var(--scale));transform-origin:0 0;position:absolute;top:0;left:0}.account-scaled--top{--scale:.75;width:calc(var(--account-photo-size) * var(--scale));height:calc(var(--account-photo-size) * var(--scale))}.account-scaled--cheki{--scale:.34;width:calc(var(--photo-cheki-width) * var(--scale));aspect-ratio:6/7}.account-shutter{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:56px;display:flex}.account-camera{flex:none;width:24px;height:24px}.account-flash{background:var(--color-bg);opacity:0;pointer-events:none;animation:account-flash var(--duration-shutter-flash) linear both;position:absolute;inset:0}.account-print{animation:account-print var(--duration-shutter-print) var(--ease-out) both;align-self:stretch;align-items:center;display:flex}.account-confirm,.account-confirm__text{animation:account-fade var(--duration-normal) var(--ease-out) both}@keyframes account-flash{0%{opacity:0}50%{opacity:.9}to{opacity:0}}@keyframes account-print{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes account-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.account-flash,.account-print,.account-confirm,.account-confirm__text{animation:none}}@media (width<=767px){.account-content{overflow-y:auto}.account-kinds{flex-wrap:wrap}.account-kinds .account-tab{flex:30%}.account-choices{grid-template-columns:repeat(5, minmax(0, var(--photo-choice-size)))}.account-close{width:var(--button-min-height);height:var(--button-min-height)}}.island-map{align-items:center;gap:var(--space-6);min-height:100vh;padding:calc(var(--space-4) + var(--button-min-height) + var(--space-4)) var(--space-4) calc(var(--space-4) + var(--button-min-height) + var(--space-4));flex-direction:column;display:flex;overflow-x:clip}.island-map__field{flex:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(6,minmax(0,1fr));place-items:center;width:100%;max-width:900px;min-height:460px;display:grid;position:relative}.island-map__highland{justify-content:center;align-items:center;gap:var(--space-6);flex-wrap:wrap;flex:1;width:100%;max-width:900px;display:flex}.island-map__gate{right:var(--space-4);bottom:calc(var(--space-2) + 32px + var(--space-2));z-index:3;align-items:center;gap:var(--space-2);transition:opacity var(--duration-fast) var(--ease-out);display:inline-flex;position:fixed}.island-map__gate-arrow{flex:none}.island-map__gate.is-moving{opacity:0;pointer-events:none}.island-paths{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.island-paths path{fill:none;stroke:var(--color-border-strong);stroke-width:var(--stroke-3);stroke-dasharray:2 10;stroke-linecap:round;vector-effect:non-scaling-stroke}.island{z-index:1;align-content:center;justify-items:center;gap:var(--space-1);width:var(--island-size);height:var(--island-size);padding:var(--space-2);border-radius:var(--radius-blob);background:var(--island-color);color:var(--color-fg-strong);font-family:var(--font-hand);transition:transform var(--duration-fast) var(--ease-out);display:grid;position:relative}.island:active{transform:scale(.97)}.island--open{border:var(--stroke-4) solid var(--color-border-strong);outline:var(--space-2) solid var(--color-now)}.island--open:focus-visible{outline-color:var(--color-focus-ring)}.island--locked{border:var(--stroke-2) dashed var(--color-border-strong)}.island--kokugo{grid-area:1/3/auto/span 2}.island--sansu{grid-area:2/1/auto/span 2}.island--rika{grid-area:2/5/auto/span 2}.island--shakai{grid-area:3/1/auto/span 3}.island--eigo{grid-area:3/4/auto/span 3}.island--seikatsu{grid-area:3/2/auto/span 4}.island__lock{width:28px;height:28px}.island__name{font-size:var(--text-title);line-height:1}.island__level{font-size:var(--text-body);font-weight:var(--text-strong-weight)}.island__avatar{bottom:calc(100% + var(--space-2));display:block;position:absolute}.island.is-hopping .island__avatar{animation:island-hop var(--duration-hop) var(--ease-in-out) 1}@keyframes island-hop{50%{transform:translateY(-14px)rotate(4deg)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.island:hover{transform:translateY(-2px)rotate(-1.5deg)}}@media (hover:hover){.island:active{transform:scale(.97)}}@media (width<=600px){.island-map{padding-inline:var(--space-4)}.island-map__field{row-gap:var(--space-6);min-height:0}.island--sansu{justify-self:start}.island--rika{justify-self:end}}.island-map__bar{top:var(--space-4);left:var(--space-4);right:var(--corner-reserve);z-index:var(--z-over-loading);justify-content:space-between;align-items:center;gap:var(--space-2);pointer-events:none;display:flex;position:fixed}.island-map__bar>*{pointer-events:auto;flex:none}@media (width<=767px){.island-map__bar{gap:var(--space-1)}}.island-map--diorama{height:100dvh;min-height:0;position:relative;overflow:hidden}.diorama-layer{position:absolute;inset:0;overflow:hidden}.diorama-layer__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.diorama-layer__tags{transition:opacity var(--duration-normal) var(--ease-out)}.diorama-layer__tags.is-hidden{opacity:0;pointer-events:none}.island-tag{z-index:2;align-content:center;justify-items:center;gap:var(--space-1);min-height:var(--tag-min-height);min-width:var(--tag-min-width);padding:var(--space-1) var(--space-3);border-radius:var(--radius-hand);background:var(--island-color);color:var(--color-fg-strong);font-family:var(--font-hand);transition:opacity var(--duration-fast) var(--ease-out), scale var(--duration-fast) var(--ease-out), rotate var(--duration-fast) var(--ease-out), translate var(--duration-fast) var(--ease-out);display:grid;position:absolute;top:0;left:0}.island-tag:after{content:"";inset:0 0 calc(-1 * var(--space-4));position:absolute}.island-tag:active{scale:.97}.island-tag--open{border:var(--stroke-4) solid var(--color-border-strong);outline:var(--space-1) solid var(--color-now)}.island-tag--open:focus-visible{outline-color:var(--color-focus-ring)}.island-tag--locked{border:var(--stroke-2) dashed var(--color-border-strong)}.island-tag.is-moving{opacity:0;pointer-events:none}.island-tag__lock{width:20px;height:20px}.island-tag__name{font-size:var(--text-title);line-height:1}.island-tag__level{font-size:var(--text-small);font-weight:var(--text-small-weight);line-height:1}.diorama-layer__avatar{z-index:1;margin-top:calc(-1 * var(--tag-min-height) - var(--space-1));transform-origin:50% 100%;pointer-events:none;transition:translate var(--duration-fast) var(--ease-out);display:block;position:absolute;top:0;left:0}.diorama-layer__avatar.is-moving{translate:0 calc(var(--tag-min-height) + var(--space-1))}@media (width<=600px){.island-tag{padding-inline:var(--space-2);grid-auto-flow:column;align-items:center}.island-tag__name{font-size:var(--text-body)}}.island-map__paper{z-index:10;background-color:var(--color-bg);background-image:linear-gradient(var(--color-grid) 1px, transparent 1px), linear-gradient(90deg, var(--color-grid) 1px, transparent 1px);background-size:var(--grid-size) var(--grid-size);animation:island-paper var(--duration-paper) var(--ease-out) both;position:fixed;inset:0}@keyframes island-paper{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@media (width<=767px),(height<=599px){.island-map:not(.island-map--diorama){padding-bottom:var(--space-4)}.island-map:not(.island-map--diorama) .island-map__gate{z-index:auto;align-self:flex-end;position:static}.island-map .diorama-layer__canvas{bottom:calc(var(--space-2) + 32px + var(--space-2) + var(--button-min-height) + var(--space-2))}.island-map{--tag-min-height:var(--button-min-height)}}.board-page{min-height:100dvh;animation:board-enter var(--duration-normal) var(--ease-out)}@keyframes board-enter{0%{opacity:0}}.top-bar{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--corner-reserve) var(--space-2) var(--space-7);background:var(--color-bg);border-bottom:var(--stroke-3) solid var(--color-border-strong);display:flex}.top-title{align-items:baseline;gap:var(--space-3);min-width:0;font-family:var(--font-hand);font-size:var(--text-title);font-weight:var(--text-title-weight);line-height:var(--text-title-line);color:var(--color-fg-strong);flex:1;display:flex}.top-title-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.top-title-progress{font-family:var(--font-body);font-size:var(--text-small);font-weight:var(--text-small-weight);line-height:var(--text-small-line);white-space:nowrap;color:var(--color-fg);flex:none}.top-chapters{white-space:nowrap;flex:none}.board-body{gap:var(--space-4);max-width:var(--content-max-width);padding:var(--space-2) var(--space-4) calc(var(--card-height,0px) + var(--space-6));grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid}@media (width>=768px){.board-page{flex-direction:column;height:100dvh;display:flex}.board-body{grid-template-columns:var(--board-pane-ratio) minmax(0, 1fr);flex:1;grid-template-rows:minmax(0,1fr);gap:0;width:100%;max-width:none;min-height:0;padding:0;overflow:hidden}}@media (width>=768px) and (height<=599px){.board-page{height:auto;min-height:100dvh;display:block}.board-body{grid-template-rows:auto;overflow:visible}.road-wrap{container-type:inline-size}.road-field{--board-unit:clamp(.85px, calc(100cqw / var(--board-box-w)), 1.8px)}}.road-wrap{place-items:center;min-height:0;display:grid;position:relative}@media (width>=768px){.road-wrap{container-type:size}}.road-field{--board-unit:clamp(.7px, calc((100vw - 2 * var(--space-4)) / var(--board-box-w)), 1px);--cell-size-wide:calc(54 * var(--board-unit));--cell-size-test-wide:calc(64 * var(--board-unit));--cell-size-side-wide:calc(42 * var(--board-unit));--board-col-step-wide:calc(96 * var(--board-unit));--board-step-wide:calc(136 * var(--board-unit));--board-road-width-wide:calc(34 * var(--board-unit));--board-box-width-wide:calc(var(--board-box-w) * var(--board-unit));--board-box-height-wide:calc(var(--board-box-h) * var(--board-unit));--walker-width-road-wide:calc(46 * var(--board-unit));--cell-text-wide:calc(30 * var(--board-unit));--cell-text-side-wide:calc(16 * var(--board-unit));--cell-size:var(--cell-size-wide);--cell-size-test:var(--cell-size-test-wide);--cell-size-side:var(--cell-size-side-wide);--board-col-step:var(--board-col-step-wide);--board-step:var(--board-step-wide);--board-road-width:var(--board-road-width-wide);--board-box-width:var(--board-box-width-wide);--board-box-height:var(--board-box-height-wide);--walker-width-road:var(--walker-width-road-wide);width:var(--board-box-width);height:var(--board-box-height);position:relative}@media (width>=768px){.road-field{--board-unit:clamp(.85px, min(100cqw / var(--board-box-w), 100cqh / var(--board-box-h)), 1.8px)}}.road-lane{width:100%;left:0;top:calc((var(--board-box-height) - var(--rows) * var(--board-step)) / 2 + 3.5 * var(--board-unit));height:calc(var(--rows) * var(--board-step));position:absolute}.road-line{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.road-line path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.road-edge{stroke:var(--color-border-strong);stroke-width:calc(var(--board-road-width) + var(--stroke-3) * 2)}.road-band{stroke:var(--color-sand);stroke-width:var(--board-road-width)}.road-dash{stroke:var(--color-border);stroke-width:var(--stroke-2);stroke-dasharray:4 12}.road-done{stroke:var(--color-done);stroke-width:var(--stroke-4)}.road-side{stroke:var(--color-border);stroke-width:var(--stroke-2);stroke-dasharray:0 4}.node{left:calc(var(--board-pad-left) * var(--board-unit) + var(--col) * var(--board-col-step));top:calc((var(--row) + .5) * var(--board-step));isolation:isolate;width:0;height:0;position:absolute}.cell{--size:var(--cell-size);left:calc(var(--size) / -2);top:calc(var(--size) / -2);width:var(--size);height:var(--size);border:var(--stroke-3) solid var(--color-border-strong);border-radius:var(--radius-blob);background:var(--color-bg);font-family:var(--font-hand);font-size:var(--text-title);color:var(--color-fg-strong);scroll-margin-top:var(--space-7);scroll-margin-bottom:var(--space-7);transition:transform var(--duration-fast) var(--ease-out);place-items:center;padding:0;line-height:1;display:grid;position:absolute}.cell--done{background:var(--color-done)}.cell--now{background:var(--color-now)}.cell--now:after{content:"";inset:calc(-1 * (var(--space-1) + var(--stroke-3) * 2));border:var(--stroke-3) solid var(--color-border-strong);border-radius:var(--radius-blob);pointer-events:none;position:absolute}.cell--test{--size:var(--cell-size-test)}.cell--test svg{width:62%;height:62%}.cell--test.cell--done{background:var(--color-bg)}.cell--side{--size:var(--cell-size-side);border-width:var(--stroke-2);border-radius:var(--radius-slot);font-family:var(--font-body);font-size:var(--text-small);font-weight:var(--text-strong-weight);border-style:dashed}.cell--side.is-done{background:var(--color-done);border-style:solid}.cell:before{content:"";inset:min(0px, calc((var(--size) - var(--button-min-height)) / 2));position:absolute}.side{position:absolute;top:0;left:0}.side .cell{left:calc(var(--size) / -2);top:calc(var(--board-step) / 2 - var(--size) / 2)}.cell{font-size:var(--cell-text-wide)}.cell--side{font-size:var(--cell-text-side-wide)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.cell:hover{transform:rotate(-4deg)scale(1.05)}}.cell:active{transform:scale(.95)}.walker{--shift:0px;width:var(--walker-width-road);z-index:var(--z-walker);pointer-events:none;position:absolute;top:0;left:0}.walker.is-walking{transition:transform var(--duration-walk) var(--ease-in-out)}.walker-anchor{transform:translate(calc(-50% + var(--shift)), calc(-100% - var(--cell-size) / 2 - var(--space-1)))}.walker--shift-right{--shift:calc(var(--board-col-step) / 2)}.walker--shift-left{--shift:calc(var(--board-col-step) / -2)}.walker--side .walker-anchor{transform:translate(-50%, calc(-100% - var(--cell-size-side) / 2 - var(--space-1)))}.walker .avatar--walker{width:var(--walker-width-road)}.walker.is-walking .avatar{animation:hop var(--duration-hop) var(--ease-in-out) 2}@keyframes hop{50%{transform:translateY(calc(-1 * var(--space-3))) rotate(4deg)}}.card-slot{min-height:0;padding:var(--space-6) var(--space-7);justify-content:center;align-items:center;display:flex;overflow-y:auto}.card{gap:var(--space-3);width:100%;max-width:var(--card-width-wide);max-height:100%;padding:var(--space-6);border:var(--stroke-3) solid var(--color-border-strong);border-radius:var(--radius-hand);background:var(--color-bg);flex-direction:column;margin-block:auto;display:flex}.card-body{gap:var(--space-3);overscroll-behavior:contain;min-height:0;display:grid;overflow-y:auto}.card>:not(.card-body){flex-shrink:0}.card-eyebrow{font-size:var(--text-small);color:var(--color-muted-fg)}.card h2{font-size:var(--text-display);line-height:var(--text-display-line)}.card-primary{width:100%}@media (width<=767px){.card-slot{z-index:var(--z-walker);padding:0;display:block;position:fixed;inset:auto 0 0;overflow:visible}.card{gap:var(--space-2);max-width:none;max-height:var(--card-max-height-narrow);padding:var(--space-4);border-width:var(--stroke-3) 0 0;border-radius:0;margin-block:0}.card h2{font-size:var(--text-title);line-height:var(--text-title-line)}.cell{scroll-margin-bottom:calc(var(--card-height,0px) + var(--space-4))}.top-bar{padding:var(--space-2) var(--corner-reserve) var(--space-2) var(--space-4);gap:var(--space-2)}.top-title{font-size:var(--text-body);line-height:var(--text-body-line);flex-direction:column;align-items:flex-start;gap:0}.top-title-name{max-width:100%}.top-title-progress{font-size:var(--text-small)}.top-chapters{font-size:var(--text-small);padding-inline:var(--space-3)}.road-field{--board-unit:clamp(.6px, calc((100vw - 2 * var(--space-4)) / var(--board-box-w)), 1px);--cell-size:max(var(--cell-size-wide), var(--button-min-height));--cell-size-test:max(var(--cell-size-test-wide), var(--button-min-height));--cell-size-side:max(var(--cell-size-side-wide), var(--button-min-height))}.top-title{flex:10em}.top-chapters{min-height:var(--button-min-height)}}@media (width<=767px) and (height<=599px){.card-slot{position:static}.card{max-height:none}.card-body{overflow-y:visible}.board-body{padding-bottom:var(--space-6)}.cell{scroll-margin-bottom:var(--space-7)}}.measurement{gap:var(--space-2);width:min(100%,340px);margin:var(--space-3) 0;display:grid}.measurement__tape-row{align-items:center;gap:var(--space-2);grid-template-columns:3em minmax(0,1fr);display:grid}.measurement__track{width:100%}.measurement__tape{border:var(--stroke-2) solid var(--color-border);height:24px}.measurement__tape--red{background:var(--color-subject-kokugo);width:75%}.measurement__tape--blue{background:var(--color-subject-ongaku);width:56.25%;margin-left:18.75%;transition:margin-left .8s}.measurement__tape--blue.is-aligned{margin-left:0}.measurement__pencil{background:var(--color-fg-strong);width:100%;height:12px}.measurement__blocks{flex-wrap:wrap;width:100%;min-height:32px;display:flex}.measurement__blocks span{width:var(--measurement-unit-width,25%);border:1px solid var(--color-border);background:var(--color-subject-sansu);height:32px;animation:.4s both measurement-place}.measurement__controls{gap:var(--space-2);flex-wrap:wrap;display:flex}.measurement__status{margin:0}@keyframes measurement-place{0%{opacity:0;transform:translateY(calc(-1 * var(--space-3)))}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.measurement__tape--blue{transition:none}.measurement__blocks span{animation:none}}.grade-guide{margin:var(--space-2) 0}.grade-guide__body{margin-top:var(--space-2)}.grade-guide__body p{margin:0 0 var(--space-2)}.grade-guide__scene{min-height:76px;animation:.55s both grade-guide-enter}.grade-guide__lines{gap:var(--space-1);font-size:var(--text-display);white-space:pre-wrap;display:grid}.grade-guide__controls{gap:var(--space-2);margin-top:var(--space-2);align-items:center;display:flex}.grade-guide__clock{border:var(--stroke-2) solid var(--color-border);border-radius:50%;width:112px;height:112px;position:relative}.grade-guide__clock span{font-weight:700;position:absolute}.clock-12{top:0;left:44%}.clock-3{top:40%;right:5%}.clock-6{bottom:0;left:47%}.clock-9{top:40%;left:5%}.grade-guide__clock i{transform-origin:0;border-top:3px solid var(--color-fg-strong);position:absolute;top:50%;left:50%}.clock-long{width:40%;transform:rotate(-90deg)}.clock-short{width:26%;transform:rotate(0)}.clock-center{background:var(--color-fg-strong);border-radius:50%;width:6px;height:6px;position:absolute;top:48%;left:48%}.grade-guide__length{gap:var(--space-2);width:min(100%,320px);display:grid}.grade-guide__length div{align-items:center;gap:var(--space-2);display:flex}.grade-guide__length span{border:2px solid var(--color-border);background:var(--color-subject-kokugo);width:75%;height:24px;display:inline-block}.grade-guide__length div:last-child span{background:var(--color-subject-ongaku);width:55%;animation:.8s both grade-guide-align}.grade-guide__measure{width:min(100%,320px)}.measure-pencil{background:var(--color-fg-strong);width:100%;height:12px}.measure-blocks{width:100%;display:flex}.measure-blocks span{border:1px solid var(--color-border);background:var(--color-subject-sansu);text-align:center;flex:1}@keyframes grade-guide-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes grade-guide-align{0%{transform:translateX(var(--space-4))}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.grade-guide__scene,.grade-guide__length span{animation:none}}.grade-guide__dialog{color:var(--color-fg-strong);background:var(--color-bg);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-4);width:min(90vw,600px);max-height:90vh;overflow:auto}.grade-guide__dialog::backdrop{background:#00000073}.grade-guide__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.grade-guide__header h2{margin:0}.grade-guide__pairs{text-align:center;font-size:var(--text-display);grid-template-columns:repeat(3,2.2em);display:grid}.grade-guide__clock--0 .clock-long,.grade-guide__clock--1 .clock-short{border-top-color:var(--color-subject-sansu);border-top-width:5px}.grade-guide__chart{align-items:center;gap:var(--space-2);grid-template-columns:6em auto;display:grid}.grade-guide__chart div{grid-template-columns:repeat(4,1.7em);display:grid}.grade-guide__chart b{text-align:center}.grade-guide__ten-demo{gap:var(--space-1);display:grid}.grade-guide__ten{border:var(--stroke-2) solid var(--color-border);grid-template-columns:repeat(5,2em);width:max-content;display:grid}.grade-guide__ten span{text-align:center;border:1px solid var(--color-border);background:var(--color-subject-sansu)}.grade-guide__ten .is-moved{background:var(--color-subject-shakai);animation:.9s both grade-guide-align}.grade-guide__ten .is-removed{animation:1s both grade-guide-remove}.grade-guide__triangles{width:144px;height:104px;position:relative}.grade-guide__triangles span{background:var(--color-subject-sansu);border:1px solid var(--color-border);width:96px;height:96px;position:absolute}.grade-guide__triangles span:first-child{clip-path:polygon(0 0,0 100%,100% 100%);left:0}.grade-guide__triangles span:last-child{clip-path:polygon(0 0,100% 0,100% 100%);left:48px}.grade-guide__triangles.is-joined span:last-child{animation:.9s both grade-triangle-join}@keyframes grade-guide-remove{to{opacity:.25;transform:translateY(var(--space-2))}}@keyframes grade-triangle-join{to{transform:translate(-48px)}}@media (prefers-reduced-motion:reduce){.grade-guide__ten .is-moved,.grade-guide__ten .is-removed,.grade-guide__triangles.is-joined span:last-child{animation:none}.grade-guide__ten .is-removed{opacity:.25}.grade-guide__triangles.is-joined span:last-child{transform:translate(-48px)}}.grade-guide__clock-wrap{align-items:center;gap:var(--space-4);display:flex}.grade-guide__mark{animation:.4s both grade-guide-mark}@keyframes grade-guide-mark{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.grade-guide__mark{animation:none}}.grade-guide__distribution{gap:var(--space-2);min-height:5em;display:grid}.grade-guide__candy{animation:.5s both grade-guide-candy;display:inline-block}@keyframes grade-guide-candy{0%{opacity:0;transform:translateY(calc(-1 * var(--space-4)))}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.grade-guide__candy{animation:none}}.clock-practice{gap:var(--space-2);display:grid}.clock-practice p{margin:0}.clock-practice__row{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.clock-practice__face{border:var(--stroke-2) solid var(--color-border);border-radius:50%;flex:none;width:152px;height:152px;position:relative}.clock-practice__number{font-weight:700;position:absolute;transform:translate(-50%,-50%)}.clock-practice__long,.clock-practice__short{transform-origin:0;border-top:3px solid var(--color-fg-strong);position:absolute;top:50%;left:50%}.clock-practice__long{width:35%;transform:rotate(-90deg)}.clock-practice__short{border-top:5px solid var(--color-subject-sansu);width:24%;transition:transform .8s}.clock-practice__center{background:var(--color-fg-strong);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.clock-practice__short{transition:none}}.grade-guide__clock .clock-face-number{font-size:.7em;line-height:1;transform:translate(-50%,-50%)}.grade-one__diagram{gap:var(--space-3);margin:var(--space-4) 0;display:grid}.grade-one__line{font-size:var(--text-display)}.grade-one__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.grade-one button:not(.lesson-button){font:inherit;color:var(--color-fg-strong);background:var(--color-bg);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-2) var(--space-4);cursor:pointer}.grade-one__hint{margin:var(--space-2) 0}.grade-one__hint summary{cursor:pointer;font-weight:700}.grade-one__operation{gap:var(--space-2);font-size:var(--text-display);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.grade-one__operation .is-removed{opacity:.3;text-decoration:line-through;transition:opacity .8s}.grade-one__operation.is-joined span:first-child{animation:.8s both grade-one-join-left}.grade-one__operation.is-joined span:last-child{animation:.8s both grade-one-join-right}.grade-one__operation-formula{font-size:var(--text-title);font-weight:700}@keyframes grade-one-join-left{0%{transform:translateX(calc(-1 * var(--space-3)))}to{transform:translate(0)}}@keyframes grade-one-join-right{0%{transform:translateX(var(--space-3))}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.grade-one__operation.is-joined span{animation:none}.grade-one__operation .is-removed{transition:none}}.grade-one__answer{gap:var(--space-2);display:grid}.grade-one__answer input{font:inherit;color:var(--color-fg-strong);background:var(--color-bg);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-2);width:min(100%,14em);min-width:0}.grade-one__answer label{font-weight:700}.grade-one__answer p{margin:0}.make-ten__groups{gap:var(--space-4);margin:var(--space-2) 0;flex-wrap:wrap;align-items:start;display:flex}.make-ten__frame{border:var(--stroke-2) solid var(--color-border);grid-template-columns:repeat(5,2em);width:max-content;display:grid}.make-ten__slot{border:1px solid var(--color-border);place-items:center;width:2em;height:2em;display:grid}.make-ten__slot.is-moved{background:var(--color-subject-sansu);animation:.4s both grade-two-show}.make-ten__candy{gap:var(--space-1);align-items:center;min-height:2em;display:flex}.grade-two .make-ten__piece{background:var(--color-subject-sansu);width:2em;height:2em;padding:0}.make-ten__piece--still{border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);background:var(--color-subject-sansu);place-items:center;width:2em;height:2em;display:grid}.make-ten__empty{width:2em;height:2em}.make-ten form{gap:var(--space-1);display:grid}.make-ten input{font:inherit;color:var(--color-fg-strong);background:var(--color-bg);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-2);width:6em}.make-ten__equation{font-size:var(--text-body);font-weight:700}.make-ten__simple,.make-ten__reflection{gap:var(--space-1);margin:var(--space-2) 0;display:grid}.make-ten .make-ten__reflection input{width:min(100%,22em)}@media (prefers-reduced-motion:reduce){.make-ten__slot.is-moved{animation:none}}.grade-two__figures{gap:var(--space-1);margin:var(--space-3) 0;font-size:var(--text-body);line-height:var(--text-body-line);white-space:pre-wrap;overflow-wrap:anywhere;display:grid}.grade-two__hint,.grade-two__hint-body{margin:var(--space-2) 0}.grade-two__hint-body p{margin:0}.grade-two__scene{animation:.5s both grade-two-show}.grade-two__controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.grade-two__answer{gap:var(--space-2);display:grid}.grade-two__answer input{font:inherit;color:var(--color-fg-strong);background:var(--color-bg);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-2);width:min(100%,14em);min-width:0}.grade-two__answer label{font-weight:700}.grade-two__answer p{margin:0}.fraction-basics{width:min(100%,24em);margin:var(--space-3) 0}.fraction-basics p{margin:var(--space-1) 0;text-align:center}.fraction-basics__bar{border:var(--stroke-2) solid var(--color-border);height:3em;display:flex}.fraction-basics__bar span{border-right:1px solid var(--color-border);flex:1 1 0}.fraction-basics__bar span:last-child{border-right:0}.fraction-basics__bar .is-whole,.fraction-basics__bar .is-selected{background:var(--color-subject-sansu)}.fraction-basics__formula{align-items:center;gap:var(--space-2);margin:var(--space-2) 0;font-weight:700;display:flex}.fraction-basics__stack{text-align:center;min-width:1.7em;line-height:1.2;font-size:var(--text-title);display:inline-grid}.fraction-basics__stack>span:first-child{border-bottom:var(--stroke-2) solid var(--color-border)}.multiplication-basics__formula{font-size:var(--text-title);font-weight:700}.grade-two button:not(.lesson-button){font:inherit;color:var(--color-fg-strong);background:var(--color-bg);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-2) var(--space-4);cursor:pointer}.grade-two button:disabled{opacity:.5;cursor:default}.grade-two__ruler{width:min(100%,320px);margin:var(--space-4) 0}.grade-two__pencil{background:var(--color-subject-sansu);border:var(--stroke-2) solid var(--color-border);text-align:center;width:87.5%;height:28px}.grade-two__ticks{border-top:var(--stroke-2) solid var(--color-border);height:2em;position:relative}.grade-two__ticks span{border-left:1px solid var(--color-border);padding-top:var(--space-1);position:absolute;transform:translate(-50%)}.column-add{margin:var(--space-2) 0}.column-add__table{border-collapse:collapse;table-layout:fixed;text-align:center;width:min(100%,24em)}.column-add__table th,.column-add__table td{border:1px solid var(--color-border);padding:var(--space-1) var(--space-2)}.column-add__table thead th{font-size:var(--text-body);white-space:nowrap}.column-add__table thead td{border:0;width:6em}.column-add__table tbody th{font-size:var(--text-body);font-weight:400}.column-add__table tbody td{font-size:var(--text-title);font-variant-numeric:tabular-nums}.column-add__table td.is-focused{background:var(--color-subject-sansu)}.column-add__carry td{font-weight:700}.column-add__result td{border-top:var(--stroke-2) solid var(--color-border)}.column-add__guide{margin-top:var(--space-2)}.column-add__guide p{margin:0 0 var(--space-2)}.grade-two__diagram-scroll{max-width:100%;margin:var(--space-3) 0;overflow-x:auto}.grade-two__place-table,.grade-two__picture-table{border-collapse:collapse;text-align:center}.grade-two__place-table th,.grade-two__place-table td,.grade-two__picture-table th,.grade-two__picture-table td{border:1px solid var(--color-border);padding:var(--space-2)}.grade-two__place-table th{white-space:nowrap;min-width:6em}.grade-two__calculation td{font-size:var(--text-title);font-variant-numeric:tabular-nums}.grade-two__place-pieces{justify-content:center;gap:var(--space-1);flex-wrap:wrap;max-width:8em;display:flex}.grade-two__place-pieces span{border:1px solid var(--color-border);border-radius:var(--radius-slot);background:var(--color-subject-sansu);place-items:center;min-width:1.8em;min-height:1.8em;display:inline-grid}.grade-two__group-list{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.grade-two__group{border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-2)}.grade-two__group.is-focused{background:var(--color-subject-sansu)}.grade-two__groups p{margin:var(--space-1) 0}.grade-two__group-items{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.grade-two__diagram-caption{margin:0 0 var(--space-1)}.grade-two__picture-table th{text-align:left;white-space:nowrap}.grade-two__picture-table td{width:2em;height:2em}.grade-two__fraction{width:min(100%,25em);margin:var(--space-3) 0}.grade-two__fraction p{margin:var(--space-1) 0}.grade-two__fraction-bar{border:var(--stroke-2) solid var(--color-border);display:flex}.grade-two__fraction-bar span{border-right:1px solid var(--color-border);flex:1 1 0;place-items:center;min-width:0;min-height:3em;display:grid}.grade-two__fraction-bar span:last-child{border-right:0}.grade-two__fraction-bar .is-selected{background:var(--color-subject-sansu)}.grade-two__clock{align-items:center;gap:var(--space-3);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.grade-two__clock svg{width:10em;height:10em;display:block}.grade-two__clock svg text{fill:currentColor;font-size:18px}.grade-two__clock p{max-width:25em;margin:var(--space-1) 0}.grade-two__minute-hand{stroke:var(--color-border);stroke-width:5px;stroke-linecap:round;transition:transform .6s}.grade-two__polygon{align-items:center;gap:var(--space-3);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.grade-two__polygon svg{width:10em;height:9em;display:block}.grade-two__polygon line{stroke:var(--color-border);stroke-width:3px}.grade-two__polygon line.is-focused{stroke:var(--color-focus-ring);stroke-width:8px}.grade-two__polygon p{margin:var(--space-1) 0}.array-compare{margin:var(--space-2) 0}.array-compare__figures{gap:var(--space-2);flex-wrap:wrap;display:flex}.array-compare__card{border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-2);text-align:center}.array-compare__card p,.array-compare>p{margin:var(--space-1) 0}.array-compare__card svg{width:8em;height:8em;fill:var(--color-border);display:block}.array-compare__turn{transition:transform .7s}.array-compare>.grade-two__controls{margin-top:var(--space-2)}@media (prefers-reduced-motion:reduce){.array-compare__turn,.grade-two__minute-hand{transition:none}}@keyframes grade-two-show{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.grade-two__scene{animation:none}}.grade-two__bundles{gap:var(--space-2);margin:var(--space-2) 0;display:grid}.grade-two__bundles p{margin:0}.grade-two__bundle-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.grade-two__bundle{border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-1) var(--space-2);background:var(--color-bg);transition:background-color .5s}.grade-two__bundle.is-counted{background:var(--color-subject-sansu)}.grade-two__bundle-name{font-weight:700;display:block}.grade-two__subtotal{margin-top:var(--space-1);font-weight:700;animation:.5s both grade-two-show;display:block}.grade-two__dots{grid-template-columns:repeat(5,1em);line-height:1.15;display:grid}.grade-two__singles{gap:var(--space-1);align-items:center;display:flex}@media (prefers-reduced-motion:reduce){.grade-two__bundle{transition:none}.grade-two__subtotal{animation:none}}.six__bracket{border:var(--stroke-2) solid var(--color-border);text-align:center;border-bottom:0;margin-bottom:0}.six__whole{width:min(100%,320px)}.six__paint-scale{table-layout:fixed;border-collapse:collapse;text-align:center;width:min(100%,24em);margin-block:.4em}.six__paint-scale th,.six__paint-scale td{border:1px solid var(--color-border);padding:.2em .3em}.six__factor-match{background:var(--color-subject-sansu);border-radius:.2em;padding-inline:.25em}.six__bag-demo{gap:.6em;margin-block:.4em;display:flex}.six__bag{border:2px solid var(--color-border);text-align:center;border-radius:.4em;grid-template-columns:repeat(2,1.6em);gap:.15em;padding:.3em;display:grid}.six__bag>span:nth-child(n+3){opacity:0;transition:opacity .6s,transform .6s;transform:translateY(-.4em)}.six__bag-demo.is-doubled .six__bag>span{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.six__bag>span:nth-child(n+3){transition:none}}.six__sharing svg{width:min(100%,430px);font-size:13px;display:block}.six__sharing-unit{fill:none;stroke:var(--color-border);stroke-width:1px;stroke-dasharray:3 3;opacity:.6}.six__share-focus{fill:none;stroke:var(--color-subject-kokugo);stroke-width:3px}.six__formula-line{flex-wrap:wrap;align-items:center;gap:.4em;font-size:1.2em;display:flex}.six__written-fraction{text-align:center;vertical-align:middle;flex-direction:column;min-width:1.5em;display:inline-flex}.six__written-fraction>span{padding:.1em .25em}.six__written-fraction>span:first-child{border-bottom:2px solid}.six__division-scroll{max-width:100%;overflow-x:auto}.six__division-scroll svg{max-width:none;font-size:15px;display:block}.six__juice-piece{fill:var(--color-subject-sansu);stroke:var(--color-border);stroke-width:1px;transition:transform 1.6s}@media (prefers-reduced-motion:reduce){.six__juice-piece{transition:none}}.six__strip,.six__fraction-grid{border:1px solid var(--color-border);width:min(100%,320px);display:grid}.six__strip span,.six__fraction-grid span,.six__division-group span{border:1px solid var(--color-border);text-align:center;background:var(--color-bg);min-height:30px}.six__strip .is-filled,.six__fraction-grid .is-filled,.six__division-group .is-filled{background:var(--color-subject-sansu)}.six__fraction-grid .is-overlap{background:var(--color-subject-kokugo);animation:.8s both six-reveal}.six__pair,.six__repeat,.six__groups,.six__expression,.six__tree{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.six__division-group{border:var(--stroke-2) solid var(--color-border);width:150px;padding:var(--space-1);animation:.8s both six-reveal;display:grid}.six__expression>div{border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-2);display:grid}.six__expression .is-selected,.six__sort .is-selected{background:var(--color-subject-sansu)}.six__expression p{flex-basis:100%}.six__data table,.six__survey{border-collapse:collapse;width:min(100%,520px)}.six__data th,.six__data td,.six__survey th,.six__survey td{border:1px solid var(--color-border);padding:var(--space-2);text-align:left}.six__data-dot{margin-right:var(--space-1);animation:.8s both six-reveal;display:inline-block}.six__sort{max-width:100%;height:60px;position:relative}.six__mean-bars{gap:.75em;margin-block:.5em;display:flex}.six__mean-column{text-align:center;min-width:3em;display:grid}.six__mean-track{border-bottom:2px solid var(--color-border);height:5em;position:relative}.six__mean-fill{background:var(--color-subject-sansu);border:1px solid var(--color-border);transition:height 1s;position:absolute;inset:auto .4em 0}.six__mean-level{border-top:2px dashed var(--color-border);z-index:1;position:absolute;left:0;right:0}@media (prefers-reduced-motion:reduce){.six__mean-fill{transition:none}}.six__sort>span{width:42px;padding-block:var(--space-2);border:var(--stroke-2) solid var(--color-border);text-align:center;transition:transform 1.2s,background-color .8s;position:absolute;top:4px;left:0}.six__scatter{width:min(90%,420px);height:60px;margin:16px;position:relative}.six__scatter-axis{border-top:1px solid var(--color-border);width:100%;position:absolute;top:18px}.six__scatter>span{position:absolute;top:0;transform:translate(-50%)}.six__scatter small{display:block}.six__spread{border-top:3px solid var(--color-border);animation:.8s six-reveal;position:absolute;top:54px}.six__branch{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);padding:var(--space-2);display:flex}.six__branch p{gap:var(--space-3);border-bottom:1px solid var(--color-border);margin:var(--space-1) 0;animation:.8s both six-reveal;display:flex}.six__branch small{color:var(--color-muted-fg)}.six__estimate svg,.six__symmetry svg,.six__scale svg{width:min(100%,420px);max-height:230px;overflow:visible}.six__original{fill:var(--color-subject-sansu);fill-opacity:.45;stroke:var(--color-border);stroke-width:2px}.six__outline{fill:none;stroke:var(--color-border);stroke-width:2px}.six__axis{fill:none;stroke:var(--color-border);stroke-width:2px;stroke-dasharray:5 4}.six__moving-point{fill:var(--color-subject-kokugo)}.six__fold,.six__turn{transform-origin:130px 80px;transition:transform 1.4s}.six__scaled{transition:transform 1.4s}@keyframes six-reveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.six__fold,.six__turn,.six__scaled,.six__sort>span{transition:none}.six__data-dot,.six__branch p,.six__division-group,.six__spread,.six__fraction-grid .is-overlap{animation:none}}.six__histogram svg,.six__map svg{width:min(100%,420px);max-height:250px}.six__map-segment{animation:.4s both six-reveal}@media (prefers-reduced-motion:reduce){.six__map-segment{animation:none}}.six__grid-line{stroke:var(--color-border);stroke-width:1px;opacity:.25}.six__histogram-focus{fill:var(--color-subject-kokugo);stroke:var(--color-border);transition:fill .8s}.six__subdivision .six__bracket{box-sizing:border-box;width:100%}.six__cut-strip{border:var(--stroke-2) solid var(--color-border);box-sizing:border-box;height:48px;margin-bottom:36px;position:relative}.six__original-fill{background:var(--color-subject-sansu);position:absolute;inset:0 auto 0 0}.six__old-cut,.six__new-cut{border-left:var(--stroke-2) solid var(--color-border);transform-origin:top;z-index:2;position:absolute;top:0;bottom:0}.six__new-cut{animation:.65s both six-draw-cut}.six__cut-labels{text-align:center;align-items:stretch;height:32px;display:grid;position:absolute;top:100%;left:0;right:0}.six__cut-labels>span{place-items:center;min-width:0;display:grid}.six__cut-labels.is-subdividing{opacity:0;transition:opacity .4s}.six__fine-labels{animation:.45s both six-show-labels}.six__chosen-part{background:var(--color-subject-kokugo)}.six__source-outline{border:2px dashed var(--color-border);box-sizing:border-box;pointer-events:none;z-index:4;position:absolute;inset:-5px auto -5px 0}.six__equal-groups{z-index:3;animation:2.5s both six-group-focus;display:grid;position:absolute;inset:0 auto 0 0}.six__equal-groups>span{border:3px solid var(--color-border);border-radius:6px;margin:2px}.six__original-fill.is-clearing{animation:1.2s both six-clear-fill}.six__selected-fill{background:var(--color-subject-kokugo);animation:1.2s both six-select-fill;position:absolute;inset:0 auto 0 0}@keyframes six-group-focus{0%{opacity:0}25%,80%{opacity:1}to{opacity:0}}@keyframes six-clear-fill{to{opacity:0}}@keyframes six-select-fill{0%{opacity:0}to{opacity:1}}@keyframes six-draw-cut{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes six-show-labels{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.six__new-cut,.six__fine-labels,.six__equal-groups,.six__original-fill.is-clearing,.six__selected-fill{animation-duration:1ms;animation-delay:0s!important}.six__cut-labels.is-subdividing{transition:none}}.upper button:not(.lesson-button){font:inherit;color:var(--color-fg-strong);background:var(--color-bg);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-2) var(--space-4);cursor:pointer}.upper button:disabled{opacity:.5;cursor:default}.upper__controls{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.upper__answer{gap:var(--space-1);margin-top:var(--space-2);display:grid}.upper__answer label{font-weight:700}.upper__answer input{font:inherit;color:var(--color-fg-strong);background:var(--color-bg);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-2);width:min(100%,14em)}.upper__answer p,.upper__guide p{margin:var(--space-1) 0}.upper__guide{margin:var(--space-2) 0}.upper__guide>button+button{margin-left:var(--space-2)}.parity__figure{align-items:center;gap:var(--space-2);min-height:4em;margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.parity__loose,.parity__pair{gap:var(--space-1);font-size:var(--text-title);display:flex}.parity__pair{border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-1) var(--space-2);background:var(--color-subject-sansu);animation:.5s both parity-group}.parity__pair.is-leftover{background:var(--color-subject-rika);outline:var(--stroke-2) solid var(--color-focus-ring)}.parity__result{font-weight:700}.parity__marker{color:inherit;background:linear-gradient(transparent 55%, var(--color-now) 55%)}.upper__concept-formula{font-size:var(--text-title);font-weight:700}@keyframes parity-group{0%{opacity:0;transform:translateY(-.5em)}to{opacity:1;transform:translateY(0)}}.upper__bundles,.upper__rectangles{gap:var(--space-3);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.upper__bundle-group{border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-2)}.upper__bundle-group.is-focused{outline:var(--stroke-2) solid var(--color-focus-ring)}.upper__bundle-group>div{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.upper__bundle-group span{border:1px solid var(--color-border);background:var(--color-subject-sansu);padding:var(--space-1)}.upper__rectangle p,.upper__volume p{margin:var(--space-1) 0}.upper__grid{border:var(--stroke-2) solid var(--color-border);background:var(--color-subject-sansu);width:max-content;display:grid}.upper__grid span{border:1px solid #0000;width:1.4em;height:1.4em;display:block}.upper__grid span.is-unit{border-color:var(--color-border);animation:.4s both upper-show}.upper__volume{align-items:center;gap:var(--space-2) var(--space-4);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.upper__volume>p{flex-basis:100%}.upper__volume svg{width:11em;height:8em}.upper__volume polygon{stroke:var(--color-border);stroke-width:2px}.upper__box-front{fill:var(--color-subject-sansu)}.upper__box-top{fill:var(--color-bg)}.upper__box-side{fill:var(--color-subject-rika)}.upper__layers{max-width:100%}.upper__layer-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.upper__layer-list .upper__grid span{width:1.1em;height:1.1em}.upper__bars{align-items:end;gap:var(--space-3);margin:var(--space-3) 0;display:flex}.upper__bar-item{justify-items:center;gap:var(--space-1);display:grid}.upper__bar-track{border-bottom:var(--stroke-2) solid var(--color-border);align-items:end;width:3em;height:7em;display:flex}.upper__bar{background:var(--color-subject-sansu);border:1px solid var(--color-border);width:100%;min-height:1px;transition:background-color .4s}.upper__bar.is-marked{background:var(--color-subject-rika)}.upper__average{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.upper__average-action{gap:var(--space-1);width:min(100%,18em);display:grid}.upper__combined{border:var(--stroke-2) solid var(--color-border);height:2em;display:flex}.upper__combined span{border-right:1px solid var(--color-border);background:var(--color-subject-sansu);flex-basis:0;animation:.5s both upper-show}.upper__combined span:nth-child(2){background:var(--color-subject-rika)}.upper__combined span:nth-child(3){background:var(--color-subject-eigo);border-right:0}.upper__equal-groups{gap:var(--space-1);display:flex}.upper__equal-groups span{border:var(--stroke-2) dashed var(--color-border);text-align:center;padding:var(--space-1);flex:1 1 0}.upper__ratios{gap:var(--space-2);width:min(100%,25em);margin:var(--space-2) 0;display:grid}.upper__ratio-row>span{display:block}.upper__ratio-track{width:100%}.upper__ratio-fill{border:var(--stroke-2) solid var(--color-border);background:var(--color-subject-sansu);min-height:2em;display:flex}.upper__ratio-fill span{border-right:1px solid var(--color-border);flex:1 1 0;animation:.4s both upper-show}.upper__ratio-fill span:last-child{border-right:0}.upper__ratios p{margin:0}.upper__number-lines{gap:var(--space-2);width:min(100%,24em);margin:var(--space-3) 0;display:grid}.upper__number-line{padding-top:2.5em}.upper__number-track{border-top:var(--stroke-2) solid var(--color-border);border-left:var(--stroke-2) solid var(--color-border);border-right:var(--stroke-2) solid var(--color-border);height:.6em;position:relative}.upper__number-mark,.upper__number-middle{white-space:nowrap;position:absolute;bottom:.35em;transform:translate(-50%)}.upper__number-mark{border-bottom:var(--stroke-2) solid var(--color-focus-ring);font-weight:700}.upper__number-middle{font-size:.8em;top:.6em;bottom:auto}.upper__number-ends{justify-content:space-between;display:flex}.upper__prism{align-items:center;gap:var(--space-3);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.upper__prism p{margin:var(--space-1) 0}.upper__prism svg{width:10em;height:8em}.upper__prism svg polygon,.upper__prism svg path,.upper__prism svg ellipse,.upper__prism-back{stroke:var(--color-border);stroke-width:2px}.upper__prism-base{fill:var(--color-subject-rika)}.upper__prism-back{stroke-dasharray:4 3}.upper__prism-layers{gap:var(--space-1);display:grid}.upper__prism-layers>div{border:1px solid var(--color-border);background:var(--color-subject-sansu);padding:0 var(--space-2);animation:.4s both upper-show}.upper__prism-stack-layer{animation:.45s both upper-show}@media (prefers-reduced-motion:reduce){.upper__prism-stack-layer{animation:none}}.upper__collection{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.upper__collection-items,.upper__collection-group{gap:var(--space-1);flex-wrap:wrap;display:flex}.upper__collection-group{border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-1);animation:.4s both upper-show}.upper__collection-group.is-remainder{background:var(--color-subject-rika)}.upper__collection-group small{margin-left:var(--space-1);align-self:center}.upper__number-lists{gap:var(--space-2);margin:var(--space-2) 0;display:grid}.upper__number-list{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.upper__number-list strong{min-width:6em}.upper__number-list>div{gap:var(--space-1);flex-wrap:wrap;display:flex}.upper__number-list span{border:1px solid var(--color-border);place-items:center;min-width:2em;min-height:2em;display:grid}.upper__number-list span.is-common{outline:var(--stroke-2) solid var(--color-focus-ring);border-radius:50%}.upper__area-shape{margin:var(--space-2) 0}.upper__area-shape p{margin:var(--space-1) 0}.upper__area-shape svg{width:min(100%,15em);height:8em}.upper__area-original,.upper__area-moved{fill:var(--color-subject-sansu);stroke:var(--color-border);stroke-width:2px}.upper__area-moved{animation:.8s both upper-move-piece}.upper__area-copy,.upper__area-trapezoid-copy,.upper__area-corners polygon{fill:var(--color-subject-rika);stroke:var(--color-border);stroke-width:2px;animation:.5s both upper-show}.upper__area-trapezoid-copy{animation:.8s both upper-slide-copy}.upper__area-outline{fill:none;stroke:var(--color-border);stroke-width:2px;stroke-dasharray:5 3}.upper__area-cut{stroke:var(--color-border);stroke-width:2px;stroke-dasharray:5 3}.upper__area-parts svg{width:min(100%,16em);height:9em;display:block}.upper__parts-line{stroke:var(--color-focus-ring);stroke-width:5px}.upper__parts-height{stroke:var(--color-border);stroke-width:2px;stroke-dasharray:5 3}.upper__area-parts text{fill:var(--color-fg-strong);font-size:13px}.upper__table-scroll{max-width:100%;margin:var(--space-2) 0;overflow-x:auto}.upper__function-table{border-collapse:collapse;table-layout:fixed;text-align:center;width:min(100%,32em);min-width:23em}.upper__function-table col.upper__function-header{width:7em}.upper__function-table th,.upper__function-table td{border:1px solid var(--color-border);padding:var(--space-1)}.upper__function-table th{font-weight:700}.upper__function-table .upper__arrow-row th,.upper__function-table .upper__arrow-row td{border:0;padding:0}.upper__arrow-row th{font-size:.75em}.upper__arrow-row svg{width:100%;height:3em;display:block;overflow:visible}.upper__arrow-row svg path{fill:none;stroke:var(--color-border);stroke-width:2px}.upper__arrow-row svg polygon,.upper__arrow-row svg text{fill:var(--color-border)}.upper__arrow-row svg text{font-size:14px;font-weight:700}.upper__circle-area{align-items:center;gap:var(--space-3);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.upper__circle-area p{margin:var(--space-1) 0}.upper__circle-area>div:first-child svg{width:8em;height:8em;display:block}.upper__circle{fill:var(--color-subject-sansu);stroke:var(--color-border);stroke-width:2px}.upper__circle-cut,.upper__circle-radius{stroke:var(--color-border);stroke-width:1px}.upper__circle-radius{stroke-width:3px}.upper__circle-parts svg{width:11em;height:9em;display:block}.upper__circle-parts text{fill:var(--color-fg-strong);font-size:13px}.upper__circle.is-circumference{stroke:var(--color-focus-ring);stroke-width:4px}.upper__sector-figure svg{width:min(100%,15em);height:6em;display:block}.upper__sector{fill:var(--color-subject-sansu);stroke:var(--color-border);stroke-width:1px;animation:.5s both upper-show}.upper__sector.is-flipped{fill:var(--color-subject-rika);transform-origin:19px 32px;transform:rotate(180deg)}.upper__sector-piece{fill:var(--color-subject-sansu);stroke:var(--color-border);stroke-width:.7px}.upper__sector-piece.is-second{fill:var(--color-subject-rika)}.upper__sector-enter{animation:.45s both upper-show}.upper__sector-measure{fill:none;stroke:var(--color-border)}@media (prefers-reduced-motion:reduce){.upper__sector-enter{animation:none}}.upper__part-whole{width:min(100%,24em);margin:var(--space-2) 0}.upper__part-whole p{text-align:center;margin:var(--space-1) 0}.upper__part-bracket{border:var(--stroke-2) solid var(--color-border);border-bottom:0;height:.5em}.upper__part-bar{border:var(--stroke-2) solid var(--color-border);height:2.5em;display:flex}.upper__part-fill{background:var(--color-subject-sansu);border-right:var(--stroke-2) solid var(--color-border);flex:none}.upper__part-rest{background:var(--color-subject-rika);flex:1 1 0}.upper__part-labels{justify-content:space-between;gap:var(--space-2);display:flex}.upper__split-bars{gap:var(--space-2);width:min(100%,24em);margin:var(--space-2) 0;display:grid}.upper__split-bars p{margin:var(--space-1) 0}.upper__split-track{width:100%}.upper__split-fill{border:var(--stroke-2) solid var(--color-border);background:var(--color-subject-sansu);min-height:2.5em;display:flex}.upper__split-fill span{border-right:var(--stroke-2) solid var(--color-border);flex:1 1 0;animation:.4s both upper-show}.upper__split-fill span:last-child{border-right:0}@keyframes upper-move-piece{0%{transform:translate(0)}to{transform:translate(120px)}}@keyframes upper-slide-copy{0%{opacity:.3;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}@keyframes upper-show{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.upper__grid span.is-unit,.upper__ratio-fill span,.upper__combined span,.upper__prism-layers>div,.upper__collection-group,.upper__area-copy,.upper__area-trapezoid-copy,.upper__area-corners polygon,.upper__sector,.parity__pair,.upper__split-fill span{animation:none}.upper__area-moved{animation:none;transform:translate(120px)}.upper__bar{transition:none}}.fraction-answer__modes,.fraction-answer__entry{align-items:center;gap:var(--space-2);display:flex}.fraction-answer__modes button{font:inherit;border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);background:var(--color-bg);color:var(--color-fg-strong);padding:var(--space-1) var(--space-2)}.fraction-answer__modes button[aria-pressed=true]{background:var(--color-subject-rika)}.fraction-answer__stack{gap:var(--space-1);display:grid}.fraction-answer__stack label,.fraction-answer__entry>label{align-items:center;gap:var(--space-1);font-size:var(--text-small);display:flex}.fraction-answer__stack label:first-child{border-bottom:var(--stroke-2) solid var(--color-border);padding-bottom:var(--space-1)}.fraction-answer input{width:4em;min-height:var(--button-min-height);padding:var(--space-1);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);background:var(--color-bg);color:var(--color-fg-strong);font:inherit;text-align:center}.lesson.fraction-intro{max-width:var(--content-max-width)}.fraction-intro__bar{max-width:480px;margin:var(--space-2) 0;display:flex}.fraction-intro__bar span{min-width:0;padding:var(--space-2) 0;text-align:center;border:1px solid var(--color-border);background:var(--color-bg);flex:1;transition:background-color .6s}.fraction-intro__bar span.is-filled{background:var(--color-subject-rika)}.fraction-intro__formula{font-family:var(--font-hand);font-size:var(--text-display)}.fraction-intro__controls{gap:var(--space-4);display:flex}.fraction-intro__controls button{font:inherit;color:var(--color-fg-strong);background:var(--color-bg);border:var(--stroke-2) solid var(--color-border);border-radius:var(--radius-slot);padding:var(--space-2) var(--space-4);cursor:pointer}.fraction-intro__controls button:disabled{opacity:.5}@media (prefers-reduced-motion:reduce){.fraction-intro__bar span{transition:none}}.fraction-intro__scene{animation:.6s both fraction-scene}@keyframes fraction-scene{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.fraction-intro__scene{animation:none}}.fraction-intro__portion{align-items:center;gap:var(--space-2);display:flex}.fraction-intro__portion .fraction-intro__bar{flex:1;min-width:0}.fraction-intro__receive{white-space:nowrap}.fraction-intro__recipient{font-family:var(--font-hand)}.receive-1,.receive-2,.receive-3{animation:.6s both portion-arrives}.receive-1{animation-delay:1s}.receive-2{animation-delay:3s}.receive-3{animation-delay:5s}@keyframes portion-arrives{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.fraction-intro__recipient span{display:inline-block}@media (prefers-reduced-motion:reduce){.receive-1,.receive-2,.receive-3{animation:none}}.fraction-intro__split-demo{width:100%;max-width:480px;margin:var(--space-4) 0;display:flex;position:relative}.fraction-intro__half{width:50%;padding:var(--space-2) 0;text-align:center;border:1px solid var(--color-border);background:var(--color-bg)}.fraction-intro__half.is-filled{background:var(--color-subject-rika)}.fraction-intro__new-cuts{pointer-events:none;position:absolute;inset:0}.fraction-intro__new-cuts i{border-left:2px solid var(--color-border);transform-origin:top;animation:.65s forwards fraction-cut;position:absolute;top:0;bottom:0;transform:scaleY(0)}.fraction-intro__new-cuts i:first-child{animation-delay:1s;left:16.666%}.fraction-intro__new-cuts i:nth-child(2){animation-delay:2s;left:33.333%}.fraction-intro__new-cuts i:nth-child(3){animation-delay:3s;left:66.666%}.fraction-intro__new-cuts i:nth-child(4){animation-delay:4s;left:83.333%}.fraction-intro__six-labels{width:100%;animation:.5s 4.6s both fraction-show;display:flex;position:absolute;top:100%;left:0}.fraction-intro__six-labels span{text-align:center;flex:1}@keyframes fraction-cut{to{transform:scaleY(1)}}@keyframes fraction-show{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.fraction-intro__new-cuts i{animation:none;transform:none}.fraction-intro__six-labels{animation:none}}.fraction-decimal-1 .fraction-intro__bar span.is-filled{animation:.45s both decimal-count}.fraction-decimal-1 .fraction-intro__bar span:first-child{animation-delay:.3s}.fraction-decimal-1 .fraction-intro__bar span:nth-child(2){animation-delay:.8s}.fraction-decimal-1 .fraction-intro__bar span:nth-child(3){animation-delay:1.3s}.fraction-decimal-1 .fraction-intro__bar span:nth-child(4){animation-delay:1.8s}.fraction-decimal-1 .fraction-intro__bar span:nth-child(5){animation-delay:2.3s}.fraction-intro__comparison{animation:.6s 1.5s both fraction-show}@keyframes decimal-count{0%{background:var(--color-bg)}to{background:var(--color-subject-rika)}}@media (prefers-reduced-motion:reduce){.fraction-decimal-1 .fraction-intro__bar span.is-filled,.fraction-intro__comparison{animation:none}}@media (width<=767px),(height<=599px){.fraction-intro__controls{z-index:1;margin:0 calc(-1 * var(--space-4));padding:var(--space-2) var(--space-4);border-top:var(--stroke-2) dashed var(--color-border);background:var(--color-bg);flex-wrap:wrap;position:sticky;bottom:0}.fraction-intro__controls button{min-height:var(--button-min-height)}}@media (width<=767px){.fraction-intro__controls{gap:var(--space-2)}}.quiz-card{gap:var(--space-3);display:grid}.quiz-copy{font-size:var(--text-body);margin:0}.quiz-subject{color:var(--color-fg-strong);font-size:var(--text-title);line-height:var(--text-title-line);margin:0}.quiz-choices{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}.quiz-choices .button{min-height:var(--button-min-height)}.quiz-answer{margin-top:0}.quiz-hints{gap:var(--space-2);padding-left:var(--space-5);margin:0;display:grid}.quiz-hints li{padding-left:var(--space-1)}.quiz-answer-reveal{font-weight:var(--text-strong-weight);color:var(--color-fg-strong);margin:0}.quiz-answer-reveal span{margin:0 var(--space-1)}.quiz-choices .quiz-choice.is-wrong{color:var(--color-muted-fg);cursor:default;text-decoration:line-through}.login{box-sizing:border-box;min-height:100vh;padding:var(--space-4);text-align:center;background-color:var(--color-bg);background-image:linear-gradient(var(--color-grid) 1px, transparent 1px), linear-gradient(90deg, var(--color-grid) 1px, transparent 1px);background-size:var(--grid-size) var(--grid-size);color:var(--color-fg-strong);flex-direction:column;justify-content:center;align-items:center;display:flex}.login__title{margin:0 0 var(--space-2);font-family:var(--font-hand);font-size:var(--text-display);font-weight:var(--text-display-weight);line-height:var(--text-display-line);color:var(--color-fg-strong)}.login__lead{margin:0 0 var(--space-6);font-size:var(--text-body);font-weight:var(--text-body-weight);line-height:var(--text-body-line);color:var(--color-fg-strong)}.login__buttons{gap:var(--space-3);flex-direction:column;display:flex}.login__demo-note{max-width:24em;margin:var(--space-3) 0 0;font-size:var(--text-body);line-height:var(--text-body-line);overflow-wrap:anywhere}.login__provider{justify-content:flex-start;align-items:center;gap:var(--space-3);min-width:320px;max-width:100%;display:inline-flex}.login__logo{flex:none;width:20px;height:20px}.login__failed{margin:0 0 var(--space-3);font-size:var(--text-body);color:var(--color-fg-strong)}.login__unregistered{align-items:center;gap:var(--space-3);flex-direction:column;max-width:24em;display:flex}.login__notice,.login__email{font-size:var(--text-body);overflow-wrap:anywhere;margin:0}.login__email{font-weight:var(--text-title-weight)}.subject-island{background:var(--color-bg);min-height:100dvh;color:var(--color-fg)}.subject-island__bar{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--corner-reserve) var(--space-2) var(--space-7);background:var(--color-bg);border-bottom:var(--stroke-3) solid var(--color-border-strong);display:flex}.subject-island__body{justify-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-4);text-align:center;display:grid}.subject-island__title{padding-bottom:var(--space-2);border-bottom:var(--stroke-4) solid var(--island-color);font-family:var(--font-hand);font-size:var(--text-display);font-weight:var(--text-display-weight);line-height:var(--text-display-line);color:var(--color-fg-strong);margin:0}.subject-island__notice{max-width:32em;font-size:var(--text-body);line-height:var(--text-body-line);margin:0}.subject-island__chapters{justify-items:center;gap:var(--space-4);display:grid}.subject-island__chapters h2{font:var(--text-title-weight) var(--text-title) / var(--text-title-line) var(--font-hand);margin:0}.subject-island__chapters ul{justify-content:center;gap:var(--space-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.subject-island__chapter{width:var(--chapter-card-width);min-height:var(--chapter-card-min-height-island);padding:var(--space-3);border:var(--stroke-3) solid var(--color-border-strong);border-top:var(--chapter-band) solid var(--island-color);border-radius:var(--radius-hand);background:var(--color-bg);color:var(--color-fg-strong);font:var(--text-strong-weight) var(--text-small) / var(--text-small-line) var(--font-body);cursor:pointer}.subject-island__chapter.is-locked{border-color:var(--color-muted-fg);background:var(--color-grid);color:var(--color-muted-fg);font-weight:var(--text-body-weight);cursor:default}.subject-island__lock{width:var(--space-4);height:var(--space-4);margin-right:var(--space-1);vertical-align:middle;display:inline-block}.subject-island__lock svg{width:100%;height:100%;display:block}.subject-island__chapter.is-done{background:var(--color-done)}@media (width<=600px){.subject-island__bar{padding-left:var(--space-4);padding-right:var(--corner-reserve)}}@media (width<=767px){.subject-island__chapter{width:var(--chapter-card-width-narrow)}}.home-entries{align-items:center;gap:var(--space-2);display:flex}.home-entries__assignments{gap:var(--space-2)}.home-entries__count{min-width:1.6em;height:1.6em;padding:0 var(--space-1);border:var(--stroke-2) solid var(--color-border-strong);border-radius:var(--radius-blob);background:var(--color-now);color:var(--color-fg-strong);font-weight:var(--text-title-weight);place-items:center;line-height:1;display:inline-grid}.home-entries__camera{width:calc(var(--button-min-height) - var(--space-2));height:calc(var(--button-min-height) - var(--space-2));place-items:center;padding:0;display:grid}.home-entries__camera svg{width:60%;height:60%}@media (width<=767px){.home-entries{gap:var(--space-1)}.home-entries__camera{width:var(--button-min-height);height:var(--button-min-height)}}.home{box-sizing:border-box;gap:var(--space-3);min-height:100dvh;padding:var(--space-4);background:var(--color-bg);color:var(--color-fg);--home-max-width:1240px;flex-direction:column;display:flex}.home__bar{align-items:center;gap:var(--space-4);width:100%;max-width:var(--home-max-width);min-height:48px;padding-right:calc(var(--corner-reserve) - var(--space-4));margin:0 auto;display:flex}.home__bar .home__subjects{flex:none;margin-left:auto}.home__title{font-family:var(--font-hand);font-size:var(--text-title);font-weight:var(--text-title-weight);line-height:var(--text-title-line);color:var(--color-fg-strong);margin:0}.home__bar .home__camera{width:calc(var(--button-min-height) - var(--space-2));height:calc(var(--button-min-height) - var(--space-2));flex:none;place-items:center;padding:0;display:grid}.home__camera svg{width:60%;height:60%}.home__body{align-content:start;gap:var(--space-4);width:100%;max-width:var(--home-max-width);grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid}.home-frame{box-sizing:border-box;gap:var(--space-2);min-width:0;padding:var(--space-3) var(--space-4);border:var(--stroke-3) solid var(--color-border-strong);border-radius:var(--radius-hand);background:var(--color-bg);flex-direction:column;display:flex}.home-frame__head{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:44px;display:flex}.home-frame__head h2{font-family:var(--font-hand);font-size:var(--text-body);font-weight:var(--text-strong-weight);line-height:var(--text-small-line);color:var(--color-fg-strong);margin:0}.home-frame__empty{font-size:var(--text-body);line-height:var(--text-body-line);margin:0}.home-frame__error{justify-items:start;gap:var(--space-2);display:grid}.home-frame__error p{margin:0}.home-frame__loading{gap:var(--space-3);padding:var(--space-2) 0;display:grid}.home-frame__loading span{border-top:var(--stroke-2) dashed var(--color-muted-fg);height:0;display:block}.home--first{gap:var(--space-4)}.home--first .home-frame{gap:var(--space-2);padding:var(--space-4) var(--space-5)}.home--first .home-frame__head h2{font-size:var(--text-title);font-weight:var(--text-title-weight);line-height:var(--text-title-line)}.home-rows{gap:var(--space-2);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.home-row{align-items:center;gap:var(--space-2);min-height:52px;padding-top:var(--space-2);border-top:var(--stroke-2) dashed var(--color-border);display:flex}.home-rows>.home-row:first-child{border-top:0;padding-top:0}.home-row__text{flex:1;min-width:0}.home-row__name,.home-row__due{margin:0}.home-row__name{align-items:baseline;gap:var(--space-2);font-size:var(--text-body);line-height:var(--text-small-line);font-weight:var(--text-strong-weight);color:var(--color-fg-strong);display:flex}.home-row__link{--link-pad:calc((var(--button-min-height) - 1lh) / 2);padding-block:var(--link-pad);margin-block:calc(-1 * var(--link-pad));overflow-wrap:anywhere;min-width:0;color:inherit;font:inherit;text-align:left;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;align-items:center;padding-inline:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline-flex}.home-row__due{font-size:var(--text-small);line-height:var(--text-small-line)}.home-row__overdue{padding-left:var(--space-2);border-left:var(--stroke-4) solid var(--color-stamp);color:var(--color-fg-strong)}.home-row__stamp{color:var(--color-fg-strong);font-weight:var(--text-strong-weight)}.home-row__stamp>span[aria-hidden]{color:var(--color-stamp)}.home-row.is-done .home-row__name,.home-row.is-late .home-row__name{color:var(--color-fg);font-weight:var(--text-body-weight)}.home-row__action{flex:none}.home--first .home-rows{gap:var(--space-1)}.home--first .home-row{min-height:calc(var(--button-min-height) - var(--space-2));padding-top:var(--space-1)}.home--first .home-row__action{min-height:calc(var(--button-min-height) - var(--space-2));padding:var(--space-1) var(--space-3);font-size:var(--text-small)}.home-subject{padding:0 var(--space-2);border:var(--stroke-2) solid var(--color-border-strong);border-radius:var(--radius-hand);background:var(--subject-color,transparent);color:var(--color-fg-strong);font-size:var(--text-small);font-weight:var(--text-strong-weight);line-height:var(--text-small-line);flex:none}.home-subject.is-plain{border-style:dashed}.home-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:var(--text-small)}.home-table th,.home-table td{height:28px;padding:0 var(--space-1);border:var(--stroke-2) solid var(--color-grid);text-align:center;word-break:keep-all;overflow-wrap:normal;line-height:1.2}.home-table thead th{font-family:var(--font-hand);color:var(--color-fg-strong)}.home-table tbody th{width:2.5em;font-family:var(--font-hand);color:var(--color-muted-fg)}.home-table thead td{border:0;width:2.5em}.home-table .is-focus{background:var(--color-now);color:var(--color-fg-strong);font-weight:var(--text-strong-weight)}.home-table__tag{margin-left:var(--space-1);padding:0 var(--space-1);border:var(--stroke-2) solid var(--color-border-strong);border-radius:var(--radius-hand);font-family:var(--font-body);font-size:var(--text-small);white-space:nowrap}.home__sub-body{width:100%;max-width:var(--home-max-width);flex:1;min-height:0;margin:0 auto}.home__columns{gap:var(--space-3);grid-template-columns:1fr 1fr;align-items:start;display:grid}.home__timetable{gap:var(--space-3);grid-template-columns:minmax(220px,1fr) 3fr;align-items:start;display:grid}.home-week--large .home-table th,.home-week--large .home-table td{height:48px;font-size:var(--text-body)}.home-day__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.home-day__list li{align-items:center;gap:var(--space-3);border-top:var(--stroke-2) dashed var(--color-border);min-height:48px;display:flex}.home-day__list li:first-child{border-top:0}.home-day__period{width:1.5em;font-family:var(--font-hand);font-size:var(--text-body);color:var(--color-muted-fg);text-align:center}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=768px){.home--sub{height:100dvh}.home__columns .home-frame{max-height:100%;overflow:hidden}.home-rows--scroll{overflow-y:auto}.home--first{height:100dvh}.home--first .home__body{flex:1;min-height:0}}@media (width>=768px) and (width<=1023px){.home--first,.home__body{gap:var(--space-3)}.home--first .home-frame{padding:var(--space-3)}.home--first .home-frame__head{white-space:nowrap;min-height:0}.home--first .home-frame__head h2{font-size:var(--text-body);line-height:var(--text-small-line)}.home-table thead th{line-height:1}.home-table__tag{margin:var(--space-1) auto 0;width:fit-content;display:block}.home--first .home-row__link{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@media (width<=767px){.home--first .home__bar .home__title{min-width:0;font-size:var(--text-body);line-height:var(--text-body-line);white-space:normal}}.home__title{white-space:nowrap}@media (width>=768px) and (width<=1023px){.home--first .home__title{white-space:normal;min-width:0;font-size:var(--text-body);line-height:var(--text-body-line)}}@media (width<=767px){.home__columns,.home__timetable{grid-template-columns:minmax(0,1fr)}.home-frame__head{min-height:var(--button-min-height)}.home--first .home-frame__head h2{font-size:var(--text-body);line-height:var(--text-body-line);white-space:nowrap}.home--sub .home__bar{row-gap:var(--space-2);flex-wrap:wrap;padding-right:0}.home--sub .home-back{margin-right:calc(var(--corner-reserve) - var(--space-4))}.home--sub .home__title{white-space:normal;flex:100%;min-width:0}.home__bar .home__camera{width:var(--button-min-height);height:var(--button-min-height);margin-left:auto}.home--sub .home-table-wrap{min-width:0;overflow-x:auto}.home--sub .home-table-wrap .home-table{min-width:420px}.home--sub .home-table tbody th,.home--sub .home-table thead td:first-child{z-index:1;background:var(--color-bg);position:sticky;left:0}.home-row{row-gap:var(--space-1);flex-wrap:wrap}.home-row__text{display:contents}.home-row__name{flex:100%;order:1;min-width:0}.home-row__due{flex:1 1 0;order:2;min-width:0}.home-row__action{order:3;margin-left:auto}.home--first .home-row,.home--first .home-row__action{min-height:var(--button-min-height)}.home-row__link{min-height:var(--button-min-height);text-align:left;align-items:center;display:inline-flex}.home--first{padding-bottom:calc(var(--button-min-height) + var(--space-4) * 2)}.home__bar .home__subjects{right:var(--space-4);bottom:var(--space-4);left:var(--space-4);z-index:5;width:auto;min-width:0;margin:0;position:fixed}}@media (height<=599px){.home--first,.home--sub{height:auto;min-height:100dvh}.home--first{padding-bottom:calc(var(--button-min-height) + var(--space-4) * 2)}.home__bar .home__subjects{right:var(--space-4);bottom:var(--space-4);left:var(--space-4);z-index:5;width:auto;min-width:0;margin:0;position:fixed}}.back-wave{z-index:var(--z-over-loading);pointer-events:auto;position:fixed;inset:0}.back-wave__wave{clip-path:polygon(110% 0,110% 0,110% 100%,110% 100%);position:absolute;inset:0}.back-wave__wave--shallow{background:var(--color-sea-shallow)}.back-wave__wave--mid{background:var(--color-sea-mid)}.back-wave__wave--deep{background:var(--color-sea-deep)}.back-fade{z-index:var(--z-over-loading);pointer-events:auto;background:var(--color-bg);opacity:0;transition:opacity var(--duration-normal) var(--ease-out);position:fixed;inset:0}.back-fade--shown{opacity:1}.recovery{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.recovery__paper{width:min(var(--panel-width), 100%);gap:var(--space-4);padding:var(--space-6);border:var(--stroke-3) solid var(--color-border-strong);border-radius:var(--radius-hand);background:var(--color-bg);color:var(--color-fg);text-align:center;justify-items:center;display:grid}.recovery__paper p{margin:0}.recovery__title{color:var(--color-fg-strong);font-size:var(--text-title);font-weight:var(--text-title-weight);line-height:var(--text-title-line);margin:0}.recovery__title:focus{outline:none}
