@import"https://fonts.googleapis.com/css2?family=Caveat+Brush&family=Caveat:wght@400..700&display=swap";@import"https://fonts.googleapis.com/css2?family=STIX+Two+Math&display=swap";@import"https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@700&display=swap";*{padding:0;border:0px;margin:0}body{background-color:#000;display:flex;justify-content:center;font-family:Caveat Brush;height:100vh;overflow:auto;color:#fff}.light-mode{background-color:#f5f5f7;color:#000}.title{font-size:4rem;margin-top:10px}.error-container{color:#000}.tooltip{position:absolute;background-color:#000c;color:#fff;padding:8px;border-radius:5px;font-size:12px;pointer-events:none;white-space:nowrap;box-shadow:0 0 8px #0003;z-index:1000}.icon{position:absolute;top:16px;right:150px;font-size:24px;cursor:pointer;transition:transform .2s ease;z-index:1100}.icon:hover{color:#007bff;transform:scale(1.1)}.level-icon-wrapper{position:absolute;top:16px;right:220px;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:1100}.level-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#fff;background:#ffffff14;border:none;border-radius:14px;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.level-icon:hover,.level-icon:focus-visible{transform:translateY(-2px);background:#ffffff2e;box-shadow:0 12px 24px #00000040;outline:none}.level-icon__glyph{width:28px;height:28px;pointer-events:none}.light-mode .level-icon{background:#00000014;color:#1f1f1f}.light-mode .level-icon:hover,.light-mode .level-icon:focus-visible{background:#0000002e;box-shadow:0 12px 24px #0000001f}.level-icon__caption{padding:4px 10px;border-radius:10px;background:#000000e6;color:#fff;font-size:.85rem;font-weight:600;line-height:1.2;white-space:nowrap;box-shadow:0 4px 12px #00000026;border:1px solid rgba(43,43,43,.6)}.light-mode .level-icon__caption{border:1px solid rgba(255,255,255,.6);background:#f8f8fbe6;color:#000}.fade-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:36px;font-family:Cinzel Decorative,serif;font-weight:400;color:#dcdcdc;text-shadow:2px 2px 4px rgba(0,0,0,.5);opacity:0;animation:fadeInOut 3s ease-in-out forwards}.light-mode .fade-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:36px;font-family:Cinzel Decorative,serif;font-weight:400;color:#000;text-shadow:2px 2px 4px rgba(0,0,0,.5);opacity:0;animation:fadeInOut 3s ease-in-out forwards}@keyframes fadeInOut{0%,to{opacity:0}25%,75%{opacity:1}}.app-container{text-align:center;position:relative;font-family:Arial,sans-serif;color:#fff}.icon{cursor:pointer}.light-mode .icon{filter:invert(1) brightness(.8)}@media (max-width: 850px){.clear-button,.undo-button{margin-top:60px;right:10px}.icon{margin-top:70px;right:100px}.level-icon-wrapper{top:70px;right:160px}.game-box{margin-top:70px}}.clear-button{position:absolute;top:10px;right:10px;padding:10px 20px;font-size:16px;background-color:#f44336;color:#fff;border:none;border-radius:5px;cursor:pointer}.undo-button{position:absolute;top:60px;right:10px;padding:10px 20px;font-size:16px;background-color:#f44336;color:#fff;border:none;border-radius:5px;cursor:pointer}.svg-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.game-box{position:relative;height:95vh;width:90vw;gap:350px;display:flex;flex-direction:column;justify-content:center;overflow:visible}.game-row{display:flex;justify-content:space-around;align-items:center;overflow:visible}.bottom-row{margin-top:100px}@keyframes no-fold-blink{0%,to{opacity:1}50%{opacity:.15}}.no-fold-violation-flash{stroke:#ff4d4f!important;animation:no-fold-blink .35s ease-in-out 0s 10 alternate;filter:drop-shadow(0 0 6px rgba(255,77,79,.7))}.no-fold-violation-flash[data-edge-marker=arrow]{fill:#ff4d4f!important;stroke:none!important}.taiko-node{max-width:30px;max-height:30px;border-radius:50%;margin:5px;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;border:2px solid black;transition:all .5s ease;z-index:0}.taiko-node-enter{opacity:0;transform:scale(.5);transition:opacity .5s ease,transform .5s ease}.taiko-node-enter-active{opacity:1;transform:scale(1)}.taiko-node:hover{transform:scale(1.1);box-shadow:0 0 8px #ffffffb3}@keyframes breathing{0%{transform:scale(1)}to{transform:scale(1.05)}}.taiko-node.selected{animation:breathing 1.5s ease-in-out infinite alternate;box-shadow:0 0 10px #fffc}.black-dot{width:10px;height:10px;background-color:#000;border-radius:50%;position:absolute;z-index:11}.settings-menu{position:fixed;width:97px;padding:10px 12px 14px;background:#fff;border:1px solid #d2d2d2;border-radius:10px;box-shadow:0 10px 24px #00000040;z-index:1000;opacity:0;animation:menuEnter .17s cubic-bezier(.16,.84,.44,1) forwards;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;gap:10px;color:#222}@keyframes menuEnter{0%{opacity:0;transform:translateY(-6px) scale(.95)}60%{opacity:1;transform:translateY(0) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 850px){.settings-menu{width:104px}}.settings-menu h3{color:#000;margin:0 0 4px;font-size:14px;letter-spacing:.5px;font-weight:600;text-align:center}.settings-menu label{color:#222;display:flex;flex-direction:column;align-items:stretch;gap:4px;font-size:12px;line-height:1.2}.settings-menu input[type=range]{width:100%}.settings-menu input[type=number]{margin-top:2px;font-size:12px}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:6px;background:#f5f5f7;padding:4px 6px;border-radius:6px;font-size:12px}.settings-toggle-row span{color:#222}.settings-toggle-row input[type=checkbox]{transform:scale(1.2);cursor:pointer}body.light-mode .settings-menu{background:#ffffffe6}body.dark-mode .settings-menu{background:#1e1e1ef2;border-color:#444}body.dark-mode .settings-menu h3,body.dark-mode .settings-menu label,body.dark-mode .settings-toggle-row{color:#f1f1f1}body.dark-mode .settings-toggle-row{background:#2d2d2d}@media (max-width: 850px){.text{position:absolute;top:60px}}.text{font-family:"STIX Two Math",serif;font-weight:700;letter-spacing:.04em;margin-bottom:4px}.progress-bar-wrapper{position:relative;width:20%}.progress-bar-wrapper,.progress-bar-container,.progress-info-panel{box-sizing:border-box}.progress-bar-container{width:100%;background-color:#837b7b;border-radius:5px;margin:12px 0;overflow:hidden;height:20px;position:relative;transition:transform .12s ease,box-shadow .16s ease;transform-origin:center top;cursor:pointer}.progress-bar-container:hover{transform:scaleY(1.06);box-shadow:0 6px 16px #00000040}.progress-bar-container.is-open{box-shadow:0 8px 20px #00000047}.progress-bar-fill{background-color:#4caf50;height:100%;display:flex;align-items:center;transition:width .3s ease-in-out;padding-left:5px;color:#fff;font-weight:700;border-radius:inherit}.progress-bar-text{position:absolute;left:50%;transform:translate(-50%);font-size:14px;color:#fff;white-space:nowrap}.progress-info-panel{position:absolute;top:calc(100% + 8px);left:0;width:100%;background:#000c;color:#fff;border-radius:8px;padding:7px 12px;box-shadow:0 10px 24px #00000059;z-index:1000;display:flex;flex-direction:column;gap:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.light-mode .progress-info-panel{background:linear-gradient(145deg,#fafafceb,#e8e8ebe6);color:#111;box-shadow:0 12px 30px #0000001f}.progress-info-header{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:flex-end;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.12)}.light-mode .progress-info-header{border-bottom:1px solid rgba(0,0,0,.08)}.metric-block{display:flex;flex-direction:column;gap:2px}.metric-block.small .metric-value{font-size:.85rem}.metric-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7;line-height:1.05}.metric-label--split span{display:block}.metric-value{font-size:1.15rem;font-weight:600;font-family:"STIX Two Math",serif}.light-mode .metric-label{opacity:.55}.progress-math{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;min-height:98px;padding-top:4px}.success-title{font-size:1rem;font-weight:700;font-family:"STIX Two Math",serif;letter-spacing:.04em;background:linear-gradient(90deg,#fff,#cfcfcf);background-clip:text;-webkit-background-clip:text;color:transparent;transform:translateY(-2px);position:relative;z-index:1}.light-mode .success-title{background:none;-webkit-background-clip:unset;background-clip:unset;color:#111!important;-webkit-text-fill-color:#111;text-shadow:0 0 1px rgba(0,0,0,.06)}.equation-area{width:100%;display:flex;flex-direction:column;align-items:center;gap:7px}.equation-line{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:nowrap}.primary-symbolic{font-size:.9rem;font-family:"STIX Two Math",serif;white-space:nowrap}.symbolic-box{padding:6px 14px;border-radius:24px;background:linear-gradient(135deg,#ffffff14,#ffffff05);box-shadow:0 2px 6px #00000059 inset,0 2px 10px #00000040;position:relative}.light-mode .symbolic-box{background:linear-gradient(135deg,#0000000f,#00000005);box-shadow:0 2px 6px #00000026 inset,0 2px 10px #0000001a}.sym{font-weight:600}.sym-e{color:#ff6b6b}.sym-m{color:#4dabf7}.sym-n{color:#ffa94d}.sym-div,.sym-dot,.sym-eq{color:#bbb}.light-mode .sym-div,.light-mode .sym-dot,.light-mode .sym-eq{color:#555}.primary-row{width:100%;display:flex;align-items:baseline;justify-content:center;gap:6px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}.primary-row::-webkit-scrollbar{display:none}.primary-row .success-title{transform:none;margin:0}.primary-row .primary-symbolic{margin-bottom:0;display:inline-flex;align-items:center;position:relative;z-index:0;flex-wrap:nowrap}.primary-row .sym{display:inline-flex;align-items:center;font-size:1rem;line-height:1}.primary-row .sym-m,.primary-row .sym-n,.primary-row .sym-e{font-size:1.05rem}.primary-row .sym-paren{color:#bbb;font-size:1.1rem;padding:0 2px}.primary-row .sym-dot{padding:0 2px}.primary-row .sym.inline{margin-left:6px}.primary-row .result-value{margin-left:6px;font-size:.95rem;font-weight:600;padding:2px 8px;border-radius:8px;background:#ffffff1f;color:#fff}.light-mode .primary-row .result-value{background:#00000014;color:#111}@media (max-width: 480px){.primary-row{flex-wrap:wrap;justify-content:center}.primary-row .success-title{order:1;width:100%;text-align:center}.primary-row .primary-symbolic{order:2}}.metric-value.var-e{color:#ff6b6b}.metric-value.var-m{color:#4dabf7}.metric-value.var-n{color:#ffa94d}.var-e{color:#ff6b6b}.var-m{color:#4dabf7}.var-n{color:#ffa94d}.light-mode .metric-value.var-e{color:#d84141}.light-mode .metric-value.var-m{color:#005a9e}.light-mode .metric-value.var-n{color:#b35c00}.light-mode .var-e{color:#d84141}.light-mode .var-m{color:#005a9e}.light-mode .var-n{color:#b35c00}.level-card{width:84px;height:49px;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;background:#ffffff14;color:#fff;position:relative}.level-card.unlocked:hover,.level-card.unlocked:focus-visible{transform:translateY(-4px);box-shadow:0 12px 28px #0000004d;outline:none}.level-card.locked{background:#ffffff14;color:#fff6;position:relative}.level-card.is-selected{background:#c6b3ffe6;color:#1f1f1f;box-shadow:0 16px 32px #8b77d959}.level-card__content{display:flex;flex-direction:column;gap:6px}.level-card__name{font-size:1rem;font-weight:600;margin:0}.level-card__warning{position:absolute;top:6px;right:6px;display:flex;align-items:center;gap:6px}.level-card__warning-icon{width:18px;height:18px;fill:#d4af37;stroke:#b08d2f;stroke-width:1.2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.level-card__lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;border-radius:12px}.light-mode .level-card{background:#0000000f;color:#1c1c1c}.light-mode .level-card.unlocked:hover,.light-mode .level-card.unlocked:focus-visible{box-shadow:0 12px 24px #0000001a}.light-mode .level-card.locked{background:#0000000f;color:#00000059}.light-mode .level-card.is-selected{background:#c6b3ffd9;color:#1f1f1f}.level-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.level-modal__container{width:min(95vw,864px);max-height:95vh;background:#1f1f1f;color:#fff;border-radius:16px;box-shadow:0 24px 60px #00000073;overflow:hidden;display:flex;flex-direction:column}.light-mode .level-modal__container{background:#f8f8fb;color:#1c1c1c}.level-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.light-mode .level-modal__header{border-bottom:1px solid rgba(0,0,0,.06)}.level-modal__header h2{font-size:1.5rem}.level-modal__close{background:transparent;border:none;font-size:1.5rem;color:inherit;cursor:pointer;line-height:1;padding:4px 8px;border-radius:8px;transition:background .2s ease}.level-modal__close:hover{background:#ffffff14}.light-mode .level-modal__close:hover{background:#00000014}.level-modal__body{padding:16px 24px 24px}.level-modal__graph{position:relative;width:100%;height:504px;border-radius:20px;background:linear-gradient(180deg,#ff787847,#6be6a33d);overflow:visible;padding:14px;box-sizing:border-box}.light-mode .level-modal__graph{background:linear-gradient(180deg,#ff787852,#6be6a347)}.level-modal__edges{position:absolute;top:14px;right:14px;bottom:14px;left:14px;width:calc(100% - 28px);height:calc(100% - 28px);color:#ffffff59;pointer-events:none}.light-mode .level-modal__edges{color:#00000040}.level-modal__node{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.level-modal__tooltip{position:absolute;background:#000000d9;color:#fff;padding:12px 16px;border-radius:12px;min-width:150px;max-width:220px;box-shadow:0 12px 24px #0000004d;font-size:.9rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.level-modal__tooltip ul{margin:0;padding-left:18px}.level-modal__tooltip li{margin-bottom:6px}.level-modal__tooltip li:last-child{margin-bottom:0}.light-mode .level-modal__tooltip{background:#fffffff2;color:#1c1c1c;box-shadow:0 12px 24px #0000001a}.level-modal__tooltip-extras{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);font-size:.88rem;line-height:1.35;color:#ffd764}.light-mode .level-modal__tooltip-extras{border-top:1px solid rgba(0,0,0,.08);color:#937a10}@media (max-width: 768px){.level-modal__container{width:calc(100vw - 32px)}.level-modal__header,.level-modal__body{padding:16px}.level-modal__graph{height:430px;padding:12px}.level-modal__edges{top:12px;right:12px;bottom:12px;left:12px;width:calc(100% - 24px);height:calc(100% - 24px)}}.mini-level-selector{display:inline-flex;align-items:center;gap:8px;padding:4px}.mini-level-selector__svg{width:72px;height:48px;display:block;color:#fff;cursor:pointer}.mini-level-selector__svg:focus{outline:none}.mini-level-selector__svg:focus-visible{outline:2px solid rgba(0,123,255,.35);outline-offset:3px;border-radius:6px}.mini-level-node{cursor:pointer}.mini-level-node:focus{outline:none}.mini-level-node:focus-visible{outline:2px solid rgba(0,123,255,.35);outline-offset:4px;border-radius:50%}.mini-level-node.locked{cursor:not-allowed;opacity:.55}.mini-level-node__circle{fill:currentColor;stroke:#ffffff1f;stroke-width:.5}.mini-level-node__halo{fill:var(--accent, #ffb400);opacity:.18;pointer-events:none;filter:drop-shadow(0 0 6px rgba(255,180,64,.25))}.mini-level-node.selected .mini-level-node__circle{fill:var(--accent, #ffb400);stroke:#000000b3;stroke-width:1.2}.mini-level-selector__expand{background:transparent;border:1px solid rgba(255,255,255,.08);color:inherit;font-size:12px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer}.mini-level-selector__expand:hover{background:#ffffff08}.mini-level-selector__expand:focus{outline:none}.mini-level-selector__expand:focus-visible{outline:2px solid rgba(0,123,255,.35);outline-offset:3px}.light-mode .mini-level-selector__svg{color:#111}.light-mode .mini-level-selector__expand{border-color:#00000014}.light-mode .mini-level-node__circle{stroke:#0000001f}.light-mode .mini-level-node.selected .mini-level-node__circle{fill:var(--accent, #007bff);stroke:#ffffffe6;stroke-width:1.2;filter:drop-shadow(0 0 6px rgba(0,123,255,.18))}
