:root{--shadow-color:223deg 19% 20%;--shadow-elevation-low:0px .5px .6px hsl(var(--shadow-color) / .1), 0px .8px .9px -1.2px hsl(var(--shadow-color) / .1), 0px 2px 2.3px -2.5px hsl(var(--shadow-color) / .1);--shadow-elevation-medium:0px .5px .6px hsl(var(--shadow-color) / .11), 0px 1.6px 1.8px -.8px hsl(var(--shadow-color) / .11), 0px 4.1px 4.6px -1.7px hsl(var(--shadow-color) / .11), 0px 9.9px 11.1px -2.5px hsl(var(--shadow-color) / .11);--shadow-elevation-high:0px .5px .6px hsl(var(--shadow-color) / .1), 0px 2.9px 3.3px -.4px hsl(var(--shadow-color) / .1), 0px 5.4px 6.1px -.7px hsl(var(--shadow-color) / .1), 0px 8.9px 10px -1.1px hsl(var(--shadow-color) / .1), -.1px 14.2px 16px -1.4px hsl(var(--shadow-color) / .1), -.1px 22.1px 24.9px -1.8px hsl(var(--shadow-color) / .1), -.1px 33.6px 37.8px -2.1px hsl(var(--shadow-color) / .1), -.2px 49.5px 55.7px -2.5px hsl(var(--shadow-color) / .1)}@font-face{font-family:Mona-Sans;src:url(./Mona-Sans-CxWibSko.ttf)}body{background-color:#0e1116;margin:0;padding:0;overflow-x:hidden}body *{color:#e6edf3;font-family:Mona-Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}#app{flex-direction:column;justify-content:start;align-items:center;gap:2rem;width:100%;min-height:calc(100vh - 15rem);padding:4rem 0;display:flex}footer{background-color:#020408;justify-content:center;align-items:center;gap:1rem;height:5rem;padding:1rem;display:flex}footer>*{justify-content:center;align-items:center;gap:.5rem;display:flex}footer a{color:#8ad2e3}button{cursor:pointer;height:3rem;box-shadow:var(--shadow-elevation-medium);--tip-msg:"Tool tip";background-color:#5ba673;border:none;border-radius:2rem;margin:0 auto;padding:0 1rem;transition:background-color .25s,transform .25s;position:relative}button:after{-webkit-user-select:none;user-select:none;pointer-events:none;content:var(--tip-msg);color:#020408;transform-origin:bottom;opacity:0;background-color:#e6edf3;border-radius:2rem;width:max-content;max-width:10rem;padding:1rem;transition:opacity .15s;position:absolute;bottom:3.7rem;left:50%;transform:translate(-50%);box-shadow:0 4px 4px 3px #00000040}button:before{-webkit-user-select:none;user-select:none;pointer-events:none;content:"▼";color:#f0f8ff;text-align:center;text-shadow:0 4px 4px #0000003d;opacity:0;transition:opacity .15s;position:absolute;top:calc(2.5rem - 100%);left:50%;transform:translate(-50%,-50%)}button:disabled{cursor:default;box-shadow:var(--shadow-elevation-medium);background-color:#2d5339;border:none;border-radius:2rem;margin:0 auto;padding:0 1rem;transform:scale(.97)}button:disabled:hover:after,button:disabled:hover:before{opacity:1;transition-delay:.5s}input{color:#0e1116;box-sizing:border-box;text-align:center;border:none;border-radius:.5rem;width:100%;margin:0;padding:0}input[type=file]{cursor:pointer;color:#e6edf3;visibility:hidden;background:0 0;border:2pt dashed #e6edf3;border-radius:5rem;padding:1rem;position:relative}input[type=file]:after{visibility:visible;content:"Load a File";color:#e6edf3;border:2pt dashed #e6edf3;border-radius:5rem;justify-content:center;align-items:center;font-size:medium;font-weight:700;display:flex;position:absolute;inset:0}input[type=checkbox]{cursor:pointer;width:2rem;height:1rem;margin:0 .5rem;position:relative}input[type=checkbox]:before{content:"";background-color:#f0f8ff;border-radius:1rem;position:absolute;inset:0}input[type=checkbox]:after{content:"";background-color:#326fa4;border-radius:50%;width:1.25rem;height:1.25rem;transition:left .15s,transform .25s;position:absolute;top:-.125rem;left:0;transform:scale(1)}input[type=checkbox]:hover:after{transform:scale(1.1)}input[type=checkbox]:checked:after{left:50%}.transition-table{--number-of-inputs:1;width:40rem;box-shadow:var(--shadow-elevation-medium);background-color:#020408;border-radius:1rem;flex-direction:column;gap:1rem;padding:1rem;display:flex;position:relative}@media screen and (width<=800px){.transition-table{width:30rem}}@media screen and (width<=700px){.transition-table{width:90%}}.transition-table .header{position:relative}.transition-table .header .title{text-align:center;margin:0}@media screen and (width<=700px){.transition-table .header .title{width:fit-content;box-shadow:var(--shadow-elevation-medium);background-color:#5ba673;border-radius:1rem;margin:0 auto 1rem;padding:1rem;position:relative;bottom:4rem}}@media screen and (width<=375px){.transition-table .header .title{margin:0 auto 5rem}}.transition-table .header .mode{box-shadow:var(--shadow-elevation-medium);background-color:#5ba673;border-radius:1rem;align-items:center;padding:0 1rem;display:flex;position:absolute;top:0;left:100%;transform:rotate(11deg)translate(-6rem)}@media screen and (width<=700px){.transition-table .header .mode{box-shadow:var(--shadow-elevation-medium);transform:rotate(5deg)translate(-9rem)translateY(.5rem)}}@media screen and (width<=567px){.transition-table .header .mode{transform:rotate(0)translate(-10.25rem)translateY(.25rem)}}@media screen and (width<=375px){.transition-table .header .mode{border-radius:1rem 1rem 0 0;width:9rem;top:.5rem;left:50%;transform:rotate(0)translate(-50%)translateY(0)}}.transition-table .header .number-of-inputs{width:9rem;box-shadow:var(--shadow-elevation-medium);background-color:#5ba673;border-radius:1rem;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;display:flex;position:absolute;top:-85%;right:calc(100% - 1rem);transform:rotate(-8deg)translate(5rem)}@media screen and (width<=700px){.transition-table .header .number-of-inputs{box-shadow:var(--shadow-elevation-medium);transform:rotate(-4deg)translate(9.5rem)translateY(4rem)}}@media screen and (width<=567px){.transition-table .header .number-of-inputs{transform:rotate(0)translate(10.5rem)translateY(4.5rem)}}@media screen and (width<=375px){.transition-table .header .number-of-inputs{border-radius:0 0 1rem 1rem;width:9rem;top:3rem;left:50%;transform:rotate(0)translate(-50%)translateY(0)}}.transition-table .header .number-of-inputs input{padding-left:.5rem;font-size:larger;font-weight:900}.transition-table .header .number-of-inputs p{flex:1;min-width:4.388rem;margin:0;padding:0}.transition-table .table-header{justify-items:center;width:100%;margin-left:3rem;display:flex}.transition-table .table-header .header-present-state{flex:1;width:100%}.transition-table .table-header .header-next-state{text-align:center;flex:var(--number-of-inputs);width:100%;margin:0 .5rem}.transition-table .table-header .header-next-state *{flex:1}.transition-table .table-header .header-output{width:100%}.transition-table .table-header .header-output.output-moore{text-align:center;flex:1}.transition-table .table-header .header-output.output-mealy{text-align:center;flex:var(--number-of-inputs)}.transition-table .table-header .header-output.output-mealy *{flex:1}.transition-table .table-header h3{word-wrap:break-word;text-align:center;flex:1;width:100%;min-width:4.388rem;margin:0;padding:0;overflow:hidden}.transition-table .table-content{overflow-y:hidden}.transition-table .table-content .subheader{justify-items:center;margin-top:2.5rem;margin-left:3rem;display:flex}.transition-table .table-content .subheader .present-state{flex:1;width:100%;position:relative}.transition-table .table-content .subheader .present-state:after{content:"Present State";text-align:center;font-size:large;font-weight:700;position:absolute;bottom:100%;left:0;right:0}.transition-table .table-content .subheader .next-state{text-align:center;flex:var(--number-of-inputs);justify-items:center;margin:0 .5rem;display:flex;position:relative}.transition-table .table-content .subheader .next-state *{flex:1}.transition-table .table-content .subheader .next-state:after{content:"Next State";text-align:center;font-size:large;font-weight:700;position:absolute;bottom:100%;left:0;right:0}.transition-table .table-content .subheader .output{position:relative}.transition-table .table-content .subheader .output.output-moore{text-align:center;flex:1}.transition-table .table-content .subheader .output.output-mealy{text-align:center;flex:var(--number-of-inputs);justify-items:center;display:flex}.transition-table .table-content .subheader .output.output-mealy *{flex:1}.transition-table .table-content .subheader .output:after{content:"Output";text-align:center;font-size:large;font-weight:700;position:absolute;bottom:100%;left:0;right:0}.transition-table .table-content .subheader p{flex:1;min-width:4.388rem;margin:0;padding:0}.transition-table .table-content .content{flex-direction:column;display:flex}.transition-table .table-content .content .row{--scale:1;scale:100% var(--scale);justify-items:center;width:100%;height:2rem;margin-bottom:.5rem;animation:.25s new-row;display:flex;position:relative}.transition-table .table-content .content .row .present-state{flex:1;display:inline-flex}.transition-table .table-content .content .row .next-state{flex:var(--number-of-inputs);margin:0 .5rem;display:inline-flex}.transition-table .table-content .content .row .output.output-moore{flex:1;display:inline-flex}.transition-table .table-content .content .row .output.output-mealy{flex:var(--number-of-inputs);display:inline-flex}.transition-table .table-content .content .row * input{min-width:4.388rem}.transition-table .table-content .content .row .trash-icon{background-color:#c14740;border:0;border-radius:100rem;width:2rem;height:2rem;margin:0 1rem 0 0;padding:0;transition:scale .15s}.transition-table .table-content .content .row .trash-icon:hover{scale:1.05}.transition-table .table-content .content .row .trash-icon:active{scale:.95}.transition-table .table-content .content .row .trash-icon img{scale:.9}.transition-table .add-button{justify-content:center;margin-top:-.5rem;display:flex}.transition-table .add-button button{background:0;border:0;justify-content:center;align-items:center;margin:0;padding:0;transition:scale .15s;display:flex;scale:1}.transition-table .add-button button:hover{scale:1.05}.transition-table .add-button button:active{scale:.95}.transition-table .import-export-container{justify-content:space-between;width:calc(100% + 2rem);display:flex;position:absolute;bottom:-.5rem;right:-1rem}@media screen and (width<=645px){.transition-table .import-export-container{width:calc(80% + 3rem);margin:auto;bottom:1rem;left:0;right:0}}.transition-table .import-export-container .export-button{background-color:#5ba673;border-radius:2rem;align-items:center;width:5.5rem;padding:.5rem;transition:transform .25s;display:flex;transform:rotate(-4deg)}@media screen and (width<=645px){.transition-table .import-export-container .export-button{transform:rotate(0)}}.transition-table .import-export-container .export-button button{background-color:#0000;padding:0;position:absolute;inset:0}.transition-table .import-export-container .export-button button svg{width:2rem;height:2rem}.transition-table .import-export-container .export-button:after{content:"Export";text-align:center;margin-left:.25rem}.transition-table .import-export-container .export-button:hover{transform:rotate(-7deg)scale(1.05)}.transition-table .import-export-container .import-button{background-color:#5ba673;border-radius:2rem;align-items:center;width:6rem;padding:.5rem;transition:transform .25s;display:flex;position:relative;transform:rotate(7deg)}@media screen and (width<=645px){.transition-table .import-export-container .import-button{transform:rotate(0)}}.transition-table .import-export-container .import-button input{position:absolute;inset:0}.transition-table .import-export-container .import-button input:after{opacity:0;border-radius:0}.transition-table .import-export-container .import-button svg{pointer-events:none;width:2rem;height:2rem;position:absolute;top:.5rem;left:.5rem}.transition-table .import-export-container .import-button:after{content:"Import";text-align:center;pointer-events:none;margin-left:2.5rem}.transition-table .import-export-container .import-button:hover{transform:rotate(9deg)scale(1.05)}.generate-button{transition:transform .25s;transform:scale(1)}.generate-button:hover{transform:scale(1.05)}.implication-table{width:40rem;box-shadow:var(--shadow-elevation-medium);background-color:#020408;border-radius:1rem;flex-direction:column;align-items:center;gap:3rem;padding:2rem 1rem;display:flex;position:relative;overflow-x:auto}@media screen and (width<=800px){.implication-table{width:30rem}}@media screen and (width<=700px){.implication-table{width:90%}}.implication-table .header .title{margin:0}.implication-table .content{gap:5rem;width:calc(100% - 5rem);display:flex;position:relative}.implication-table .content .implication-row{box-sizing:border-box;min-width:4.388rem;min-height:3rem;margin-right:2rem;display:flex}.implication-table .content .implication-row .implication-row-element{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;min-width:4.388rem;min-height:3rem;display:flex;position:relative;box-shadow:inset 0 0 0 1pt #e6edf3}.implication-table .content .implication-row .implication-row-element .wrong{color:#c14740;background-color:#c1474080;height:100%}.implication-table .content .implication-row .implication-row-element .correct{color:#5ba673;background-color:#2d533980;height:100%}.implication-table .content .implication-row .implication-row-element p.wrong-next-element{color:#c14740;background-color:#c1474080;position:absolute;inset:0}.implication-table .content .implication-row .implication-row-element p.correct-next-element{color:#5ba673;background-color:#2d533980;position:absolute;inset:0}.implication-table .content .implication-side-column{flex-direction:column;align-items:end;display:flex;position:absolute;top:0;bottom:0;right:calc(100% - 1rem)}.implication-table .content .implication-side-column p{text-align:right;height:3rem}.implication-table .content .implication-footer-row{display:flex;position:absolute;top:100%;left:0;right:0}.implication-table .content .implication-footer-row p{height:3rem}.implication-table .content p{justify-content:center;align-items:center;min-width:4.388rem;margin:0;padding:0;display:flex}.implication-table .implication-table-next-button{transition:scale .25s;scale:1}.implication-table .implication-table-next-button:hover{scale:1.05}.equivalence-diagram{width:40rem}@media screen and (width<=800px){.equivalence-diagram{width:30rem}}@media screen and (width<=700px){.equivalence-diagram{width:90%}}.equivalence-diagram{background-color:#020408;border-radius:1rem;padding:2rem 1rem}.equivalence-diagram.hide{display:none}.equivalence-diagram .header{margin-bottom:2rem}.equivalence-diagram .header .title{color:var(--text-primary);text-align:center;margin:0;font-size:1.5rem;font-weight:700}.equivalence-diagram .content{flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.equivalence-diagram .content #equivalence-svg{filter:drop-shadow(0 4px 20px #0000004d);width:60%;min-width:300px;max-width:600px;height:auto}.equivalence-diagram .content #equivalence-svg>circle:first-child{transform-origin:50%;stroke-width:6px;transform:scale(.9)}.equivalence-diagram .content #equivalence-svg text{font-size:18pt}.equivalence-diagram .content #equivalence-svg .equivalence-line{stroke-width:6px}.equivalence-diagram .content .legend{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.75rem;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.equivalence-diagram .content .legend .legend-item{color:var(--text-primary);align-items:center;gap:.75rem;font-size:1rem;font-weight:500;display:flex}.equivalence-diagram .content .legend .legend-item .legend-color{border:2px solid #fff;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 8px #0000004d}.equivalence-diagram .equivalence-diagram-next-button{justify-content:center;display:flex}.minimized-table{width:40rem;box-shadow:var(--shadow-elevation-medium);background-color:#020408;border-radius:1rem;flex-direction:column;align-items:center;padding:2rem 1rem;display:flex;position:relative;overflow-x:auto}@media screen and (width<=800px){.minimized-table{width:30rem}}@media screen and (width<=700px){.minimized-table{width:90%}}.minimized-table .content{width:100%;display:grid}.minimized-table .content div{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.minimized-table .content div:before{text-align:center;height:2rem;margin-bottom:.5rem;font-size:large;font-weight:700}.minimized-table .content div .present-state-column,.minimized-table .content div .next-state-column,.minimized-table .content div .output-column{flex-direction:column;align-items:center;display:flex}:is(.minimized-table .content div .present-state-column,.minimized-table .content div .next-state-column,.minimized-table .content div .output-column) .minimized-row{width:100%;height:3rem;display:flex}:is(.minimized-table .content div .present-state-column,.minimized-table .content div .next-state-column,.minimized-table .content div .output-column) .minimized-row div{justify-content:center;align-items:center;width:100%;height:100%;display:flex;box-shadow:inset 0 0 0 1pt #e6edf3}.minimized-table .header{grid-template-columns:repeat(3,1fr);width:100%;margin-top:1rem;display:grid}.minimized-table .header div{justify-content:center;width:100%;display:flex;position:relative}.minimized-table .header div p{text-align:center;width:100%}:is(.minimized-table .header div.present-state-column,.minimized-table .header div.next-state-column,.minimized-table .header div.output-column):before{text-align:center;height:2rem;margin-bottom:.5rem;font-size:large;font-weight:700;position:absolute;bottom:2.5rem}.minimized-table .header div.present-state-column:before{content:"Present State"}.minimized-table .header div.next-state-column:before{content:"Next State"}.minimized-table .header div.output-column:before{content:"Output"}.minimized-table .comment{margin-top:2rem}.minimized-table .comment .from div{color:#c14740}.minimized-table .comment .to div{color:#5ba673}.hide{display:none!important}.invisible{visibility:hidden!important}@keyframes new-row{0%{opacity:0;transform:translateY(-50%)}to{opacity:1;transform:translateY(0)}}
