:root{font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}button{font:inherit}.stage-select-footer{width:min(560px,calc(100vw - 24px));margin-top:44px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(6px,2vw,12px);row-gap:12px;align-items:center;color:#777}.stage-select-x-link{grid-column:4;grid-row:1 / 3;align-self:center;justify-self:center;display:grid;place-items:center;color:#555}.stage-select-footer-links{grid-column:1 / -1;grid-row:1;justify-self:center;display:flex;align-items:center;gap:24px}.stage-select-footer-link{padding:3px 0;border:0;border-bottom:1px solid #999;background:transparent;color:#555;font-size:13px;letter-spacing:.12em;text-decoration:none;cursor:pointer}.stage-select-footer small{grid-column:1 / -1;grid-row:2;justify-self:center;font-size:10px;letter-spacing:.08em}.stage-select-footer small a{color:inherit;text-decoration:none}.credit-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:#00000052}.credit-dialog{position:relative;width:min(340px,100%);padding:0 28px 34px;overflow:hidden;border:1px solid #b8bec4;background:#f7f7f7;box-shadow:0 14px 36px #1f232a2e;color:#222}.credit-dialog-header{height:42px;margin:0 -28px 28px;padding:0 12px 0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d4d7da;color:#747b82;font-size:9px;font-weight:800;letter-spacing:.2em}.credit-dialog dl,.credit-dialog dd{margin:0}.credit-dialog dl>div{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:baseline;font-size:14px}.credit-dialog dt{color:#666;font-weight:700}.credit-dialog dl>.credit-source-section{display:block}.credit-dialog .credit-source-list{display:grid;gap:18px;margin-top:16px}.credit-source-list span{display:block}.credit-source-list a{display:inline-block;margin-top:3px;color:#666;font-size:11px;overflow-wrap:anywhere;text-underline-offset:2px}.credit-close-button{display:grid;place-items:center;padding:4px;border:0;background:transparent;color:#555;cursor:pointer}.stage-select-title-slot{height:52px;margin-bottom:30px}.stage-select-title{display:block}.stage-select--opening{cursor:pointer;overflow:hidden}.stage-select--opening .stage-select-title{position:fixed;z-index:10;left:50%;top:50dvh;margin:0!important;transform:translate(-50%,-50%);animation:opening-title-move 1.2s 3s cubic-bezier(.2,.8,.2,1) both}.opening-skip-hint{position:fixed;z-index:10;left:50%;top:calc(50dvh + 56px);transform:translate(-50%);color:#777;font-size:11px;font-weight:700;letter-spacing:.14em;white-space:nowrap;animation:opening-skip-hint-hide .25s 3s ease forwards}.stage-select--opening-title-skipped .stage-select-title,.stage-select--opening-title-skipped .dot-title-character{animation:none;opacity:1}.stage-select--opening-title-skipped .stage-select-title{top:60px;transform:translate(-50%)}.stage-select--opening .stage-select-content{opacity:0}.stage-select--opening-revealing .stage-select-content{animation:opening-content-fade .6s ease both}.dot-title-character,.final-completed-character{opacity:0;transform-origin:center;animation:opening-title-character .6s cubic-bezier(.2,1.35,.35,1) both;animation-delay:calc(.5s + var(--character-index) * .36s)}.final-thank-you{position:absolute;left:50%;z-index:30;transform:translate(-50%);color:#222;font-size:clamp(18px,5vw,30px);font-weight:800;letter-spacing:.08em;white-space:nowrap;animation:final-thank-you-appear .6s cubic-bezier(.2,1.15,.35,1) both}.puzzle-grid--final-clear{transition:left 1.2s cubic-bezier(.2,.8,.2,1),top 1.2s cubic-bezier(.2,.8,.2,1),opacity .3s ease}@keyframes final-thank-you-appear{0%{opacity:0;transform:translate(-50%,14px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes opening-title-character{0%{opacity:0;transform:scale(.2)}68%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}@keyframes opening-title-move{0%{top:50dvh;transform:translate(-50%,-50%)}to{top:60px;transform:translate(-50%)}}@keyframes opening-skip-hint-hide{0%{opacity:1}to{opacity:0}}@keyframes opening-content-fade{0%{opacity:0}to{opacity:1}}.stage-section-title{grid-column:1 / -1;position:relative;min-height:38px;margin:13px 0 2px;padding:6px 12px;display:grid;grid-template-columns:26px 1fr;align-items:center;gap:16px;overflow:hidden;border:1px solid #cbd0d5;box-shadow:0 8px 22px #4e586214;color:#4e5760}.stage-section-title--reached{background:#f7f7f7}.stage-section-title--unreached{background:#c2c7cb}.stage-section-title--unreached:after{display:none}.stage-section-title:after{content:"";position:absolute;right:0;bottom:0;width:44%;height:3px;background:var(--section-color)}.stage-section-number{align-self:stretch;display:grid;place-items:center;border-right:1px solid #8a929a;color:#8a929a;font-size:9px;font-weight:800;letter-spacing:1px}.stage-section-title--reached .stage-section-number{border-right-color:var(--section-color)}.stage-section-name{font-size:clamp(14px,3.5vw,18px);font-weight:750;letter-spacing:.12em;line-height:1}.stage-card{transition:background-color .36s ease,box-shadow .36s ease}.stage-card--doing:before{content:"";position:absolute;inset:4px;background:#f7f7f7;pointer-events:none;animation:doing-stage-shrink .52s cubic-bezier(.22,1,.36,1) both;animation-delay:.32s}.stage-select--opening .stage-card--doing:before{inset:0;animation:none}.stage-card--doing .stage-number{animation:doing-stage-number-shift .52s cubic-bezier(.22,1,.36,1) both;animation-delay:.32s}.stage-select--opening .stage-card--doing .stage-number{animation:none}@keyframes doing-stage-shrink{0%{inset:0}to{inset:4px}}@keyframes doing-stage-number-shift{0%{transform:translate(0)}to{transform:translate(4px,4px)}}.stage-done-check{position:absolute;top:5px;right:6px;z-index:2;color:#666}.stage-card:disabled{cursor:default!important}.stage-card--cleared{box-shadow:none}.final-launch-slot{position:relative;aspect-ratio:1;display:grid;place-items:center;border-radius:0;background:#36393d}.final-launch-slot--cleared{background:#f7f7f7}.final-launch-slot--cleared .final-launch-button{color:#36393d}.final-launch-slot--waiting{opacity:0}.final-launch-slot--appearing{transform-origin:left bottom;animation:final-launch-fade-in 67ms linear both,final-launch-tilt 547ms both}@keyframes final-launch-fade-in{0%{opacity:0}to{opacity:1}}@keyframes final-launch-tilt{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.16,.82,.24,1)}42%{transform:rotate(-30deg);animation-timing-function:linear}62%{transform:rotate(-30deg);animation-timing-function:cubic-bezier(.55,.05,.9,.55)}to{transform:rotate(0)}}.stage-final-content{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .18s ease}.final-launch-button{padding:14px 16px;border:0;background:transparent;color:#f7f7f7;font-size:16px;font-weight:800;letter-spacing:2px;cursor:pointer}.stage-select-main-content--fading-labels .stage-section-title,.stage-select-main-content--fading-labels .stage-done-check,.stage-select-main-content--fading-labels .stage-number,.stage-select-main-content--fading-labels .final-launch-button{animation:remove-stage-heading .28s ease forwards}.stage-select-main-content--fading-buttons .stage-section-title,.stage-select-main-content--fading-buttons .stage-done-check,.stage-select-main-content--fading-buttons .stage-number,.stage-select-main-content--fading-buttons .final-launch-button{opacity:0}@keyframes remove-stage-heading{to{opacity:0}}.stage-card--fading-buttons{animation:fade-stage-button-background .42s ease forwards;animation-delay:var(--stage-delay, 0ms)}@keyframes fade-stage-button-background{to{background-color:transparent}}@keyframes filter-consume{to{background-color:#e9e9e9}}@keyframes grid-appear{0%{opacity:0;transform:translateY(8px) scale(.78)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes grid-join-success{0%{transform:scale(.9);filter:brightness(1.35) drop-shadow(0 0 8px #7fd4ff)}55%{transform:scale(1.07);filter:brightness(1.15) drop-shadow(0 0 5px #7fd4ff)}78%{transform:scale(.98)}to{transform:scale(1);filter:none}}@keyframes grid-cell-arithmetic-success{0%{transform:scale(.82);filter:saturate(.2) brightness(1.55);box-shadow:inset 0 0 0 3px #ffffffe6}58%{transform:scale(1.08);filter:saturate(1.7) brightness(1.15);box-shadow:inset 0 0 0 1px #ffffff59}to{transform:scale(1);filter:none;box-shadow:none}}.puzzle-grid-cell--arithmetic-success{animation:grid-cell-arithmetic-success .42s cubic-bezier(.2,.8,.2,1) both}.puzzle-grid-cell-paint-canvas{position:absolute;width:100%;height:100%;z-index:1;pointer-events:none}.puzzle-grid-cell-paint-stroke{fill:none;stroke-width:70;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:grid-cell-paint-stroke .18s linear both}.puzzle-grid-cell-paint-stroke--second{animation-delay:.15s;animation-duration:.22s}.puzzle-grid-cell-paint-stroke--third{animation-delay:.34s}.puzzle-grid-cell-paint-label{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;opacity:0;animation:grid-cell-paint-label .1s .41s linear both}@keyframes grid-cell-paint-stroke{0%{stroke-dashoffset:1;filter:brightness(1.35) drop-shadow(0 0 2px rgba(255,255,255,.9))}80%{filter:brightness(1.18) drop-shadow(0 0 1px rgba(255,255,255,.55))}to{stroke-dashoffset:0;filter:none}}@keyframes grid-cell-paint-label{to{opacity:1}}@keyframes filter-enter-left{0%{transform:translate(calc(-100% - 12px),calc(100% + 12px))}to{transform:translate(0)}}@keyframes filter-enter-right{0%{transform:translate(calc(100% + 12px),calc(100% + 12px))}to{transform:translate(0)}}@keyframes final-piece-expand{0%{transform:scale(.72)}to{transform:scale(1)}}::view-transition-group(final-title){animation-duration:.52s}::view-transition-group(*){animation-duration:.62s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-old(root){animation:final-stage-root-fade-out .28s ease both}::view-transition-new(root){animation:final-stage-root-fade-in .28s ease both}::view-transition-group(final-piece-0),::view-transition-group(final-piece-1),::view-transition-group(final-piece-2),::view-transition-group(final-piece-3),::view-transition-group(final-piece-4),::view-transition-group(final-piece-5),::view-transition-group(final-piece-6),::view-transition-group(final-piece-7),::view-transition-group(final-piece-8),::view-transition-group(final-piece-9),::view-transition-group(final-piece-10),::view-transition-group(final-piece-11),::view-transition-group(final-piece-12),::view-transition-group(final-piece-13),::view-transition-group(final-piece-14),::view-transition-group(final-piece-15),::view-transition-group(final-piece-16){z-index:2;animation-duration:.76s;animation-timing-function:cubic-bezier(.22,1,.36,1)}@keyframes final-stage-root-fade-out{to{opacity:0}}@keyframes final-stage-root-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:1ms!important;animation-delay:0ms!important}.stage-select--opening .stage-select-title,.stage-select--opening .stage-select-content,.dot-title-character,.final-completed-character,.final-thank-you,.final-launch-slot--appearing,.stage-card--doing:before,.stage-card--doing .stage-number,.stage-card--fading-buttons,.stage-select-main-content--fading-labels .stage-section-title,.stage-select-main-content--fading-labels .stage-done-check,.stage-select-main-content--fading-labels .stage-number,.puzzle-grid,.puzzle-grid-cell--arithmetic-success,.puzzle-grid-cell-paint-stroke,.puzzle-grid-cell-paint-label,.puzzle-filter{animation-duration:1ms!important;animation-delay:0ms!important}.puzzle-grid--final-moving{transition-duration:1ms!important}}
