@font-face{font-family:JuliaMono;src:url(/assets/JuliaMono-Light-Dag5NLS-.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}html,body{text-align:center;height:100%;margin:0;padding:0;font-family:JuliaMono,monospace}body{font-size:1rem}.is-hidden{display:none!important}.is-block{display:block!important}.is-flex{display:flex!important}.nowrap{white-space:nowrap}#objectiveDisplay,#inequalities{font-size:1.2rem}.canvas-stage__viewport{z-index:0;position:fixed;inset:0}.canvas-stage__viewport>*{position:absolute;inset:0}.canvas-stage__gl{z-index:0}.canvas-stage__gl-canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}.problem-gallery{z-index:90;box-sizing:border-box;pointer-events:auto;transform-origin:top;background:#fafafaf0;border:1px solid #333;border-top:0;border-radius:0 0 8px 8px;width:44px;height:28px;transition:width .28s cubic-bezier(.2,.8,.2,1),height .24s cubic-bezier(.2,.8,.2,1),background-color .18s,box-shadow .18s;display:block;position:fixed;top:0;overflow:hidden;transform:translate(-50%);box-shadow:0 3px 8px #00000029}.problem-gallery.is-expanded{width:var(--problem-gallery-expanded-width);background:#fafafaeb;height:96px;box-shadow:0 4px 12px #00000029}.problem-gallery__toggle{z-index:1;color:#333;cursor:pointer;background:0 0;border:0;border-radius:0;place-items:center;width:44px;height:28px;padding:0;font-family:JuliaMono,monospace;font-size:1rem;line-height:1;transition:background-color .18s,transform .18s;display:grid;position:absolute;top:0;left:0}.problem-gallery.is-expanded .problem-gallery__toggle{opacity:1;pointer-events:auto;width:100%;height:18px}.problem-gallery__chevron{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;transform-origin:50%;width:12px;height:8px;transition:transform .18s;display:block}.problem-gallery.is-expanded .problem-gallery__chevron{transform:scaleY(-1)}.problem-gallery__items{max-width:inherit;box-sizing:border-box;opacity:0;pointer-events:none;scrollbar-width:none;-ms-overflow-style:none;align-items:flex-start;gap:8px;height:96px;padding:22px 8px 8px;transition:opacity .15s 80ms,transform .24s cubic-bezier(.2,.8,.2,1);display:flex;overflow:auto hidden;transform:translate(-18px)}.problem-gallery__items::-webkit-scrollbar{display:none}.problem-gallery.is-expanded .problem-gallery__items{opacity:1;pointer-events:auto;transform:translate(0)}.problem-gallery__item{box-sizing:border-box;color:#333;cursor:pointer;background:#fafafa;border:1px solid #333;border-radius:4px;flex:0 0 84px;grid-template-rows:36px 13px;place-items:center;width:84px;height:64px;margin:0;padding:4px 6px;font-family:JuliaMono,monospace;font-size:.68rem;line-height:1;display:grid}.problem-gallery__item:hover,.problem-gallery__item:focus-visible{background:#f0f0f0}.problem-gallery__thumb{width:54px;height:36px}.problem-gallery__thumb polygon{fill:#4caf5029;stroke:#333;stroke-width:1.5px}.problem-gallery__thumb line{stroke:#c0392b;stroke-width:2px;stroke-linecap:round}#sidebar{box-sizing:border-box;z-index:10;background-color:#f0f0f0;border-right:1px solid #ccc;width:450px;height:100%;padding:10px;position:fixed;top:0;left:0;overflow:hidden}#sidebarContent{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden auto}#sidebarContent .header{justify-content:space-between;align-items:center;display:flex}#sidebarContent .header h1{margin:0;font-weight:400}#sidebar h2{letter-spacing:-.5px;text-align:center;margin-bottom:5px;font-family:sans-serif}#sidebar button{margin-top:10px;padding:5px 10px}#sidebarHandle{cursor:ew-resize;touch-action:none;z-index:20;background:#0000001a;width:5px;height:100%;position:fixed;top:0;left:450px}#terminal-container{flex-grow:1;min-height:0;overflow-y:hidden}#terminal-container2{color:#eee;height:180px;min-height:180px;max-height:180px;margin-top:15px;padding:0;display:block}#terminal-container2,#terminal-container{background-color:#333;border-radius:5px;margin-bottom:5px;position:relative;overflow:hidden;box-shadow:inset 0 0 10px #0000004d}#terminal-window{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}#terminal-window:before{content:"";opacity:.1;pointer-events:none;background:linear-gradient(#444 50%,#111 50%) 0 0/100% 4px repeat-y;width:100%;height:100%;animation:5s linear infinite pulse;position:absolute;top:0;left:0;overflow:hidden}.scanlines--delay-8{--delay:-8s}.scanlines--delay-12{--delay:-12s}#result,#topResult{box-sizing:border-box;max-height:100%;overflow-y:auto}#topResult{flex-direction:column;height:100%;padding:10px 8px 10px 20px;display:flex}#result{padding-top:5px;padding-left:4px;padding-right:8px}#usageTips{text-align:left;color:#ccc;padding-left:5px;font-size:.75rem}#maximize,#subjectTo{text-align:left;font-size:1.2rem;display:none}#nullStateMessage{flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden}#nullStateMessage .null-state-logo{width:100%;max-width:100%;height:100%;max-height:100%;display:block}#uiContainer{flex-direction:column;height:100%;min-height:0;display:flex}.inequality-item,.objective-item{cursor:pointer;padding:4px}.inequality-item:hover,.objective-item:hover,.iterate-item:hover,.iterate-item.hover{background-color:#4f4f4f}.iterate-item,.iterate-item-nohover,.iterate-header,.iterate-footer{color:#eee;white-space:pre-wrap;padding-left:4px}.iterate-header{padding-top:8px;padding-bottom:5px}.iterate-footer{margin-bottom:20px;padding-top:5px}.objective-active{color:#eee}#result.virtualized{flex-direction:column;height:100%;display:flex;overflow:hidden}.iterate-virtual-wrapper{overflow-anchor:none;flex-direction:column;width:100%;display:flex}.iterate-rows{overflow-anchor:none;flex-direction:column;display:flex}#result.virtualized .iterate-scroll{overflow-anchor:none;flex:1;overflow-y:auto}#result.virtualized .iterate-header,#result.virtualized .iterate-item,#result.virtualized .iterate-item-nohover,#result.virtualized .iterate-footer{font-size:var(--virtual-font-size,18px)}.github-icon{color:#ccc;width:32px;height:32px;transition:color .3s;display:block}.github-link:hover .github-icon{color:#333}#sidebar button,#zoomControls button{color:#333;background-color:#fafafa;border:1px solid #333;border-radius:4px;margin-top:10px;padding:6px 16px;font-family:JuliaMono,monospace;font-size:.9rem;transition:transform .2s,box-shadow .2s,background-color .2s;box-shadow:0 4px #333,0 4px 8px #0000001a}#sidebar button:hover:not(:disabled):not(.button-active),#zoomControls button:hover:not(:disabled):not(.button-active){background-color:#f0f0f0;transform:translateY(-2px);box-shadow:0 6px #333,0 6px 10px #00000026}#sidebar button:active:not(:disabled),#zoomControls button:active:not(:disabled){background-color:#e0e0e0;transform:translateY(2px);box-shadow:0 2px #333,0 2px 4px #0000001a}#sidebar button:disabled,#zoomControls button:disabled{color:#333;cursor:not-allowed;background-color:#fafafa;border-color:#333;transform:translateY(2px);box-shadow:0 2px #333,0 2px 4px #0000001a}#sidebar button.button-active{color:#333;background-color:#fafafa;border-color:#333;transform:translateY(2px);box-shadow:0 2px #333,0 2px 4px #0000001a}#zoomControls{--zoom-control-size:47px;z-index:100;width:var(--zoom-control-size);flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;top:10px;right:10px}#zoomControls button{width:var(--zoom-control-size);height:var(--zoom-control-size);box-sizing:border-box;box-shadow:none;margin-top:0;padding:10px}#zoomControls button:hover:not(:disabled):not(.button-active),#zoomControls button:active:not(:disabled):not(.button-active),#zoomControls button:disabled{box-shadow:none;background-color:#fafafa;transform:none}#zoomControls button:disabled{fill:#eee;background-color:#444}#shareButton{justify-content:center;align-items:center;padding:10px;display:flex}#toggle3DButton.button-active{color:#fff;background-color:#4caf50}#toggle3DButton.button-active:hover{color:#fff;box-shadow:none;background-color:#4caf50;transform:none}#toggleZOffsetButton.button-active{color:#fff;background-color:#2196f3}#toggleZOffsetButton.button-active:hover{color:#fff;box-shadow:none;background-color:#2196f3;transform:none}#zScaleSliderContainer{width:var(--zoom-control-size);box-sizing:border-box;text-align:center;background-color:#fafafae6;border:1px solid #333;border-radius:4px;flex-direction:column;align-items:center;margin-top:10px;padding:5px;display:flex}#zScaleSliderContainer label{color:#333;margin-bottom:5px;font-size:10px;display:block}#zScaleValue{color:#666;margin-top:5px;font-size:9px}#zScaleSlider{appearance:none;writing-mode:bt-lr;background:#ddd;border-radius:4px;outline:none;width:6px;height:80px;transition:background .2s}@media (width<=700px) and (orientation:portrait){body{font-size:.88rem;overflow:hidden}.canvas-stage__viewport{bottom:var(--mobile-sidebar-height,42dvh)}.problem-gallery{top:env(safe-area-inset-top,0)}.problem-gallery.is-expanded{width:min(var(--problem-gallery-expanded-width), calc(100vw - 24px));height:88px}.problem-gallery__items{gap:6px;height:88px;padding:20px 6px 6px}.problem-gallery__item{flex-basis:76px;grid-template-rows:32px 12px;width:76px;height:58px;padding:3px 5px;font-size:.62rem}.problem-gallery__thumb{width:48px;height:32px}#sidebar{height:var(--mobile-sidebar-height,42dvh);padding:8px 10px calc(10px + env(safe-area-inset-bottom,0));text-align:center;border-top:1px solid #bbb;border-right:0;top:auto;bottom:0;left:0;box-shadow:0 -8px 18px #0000001f;width:100vw!important}#sidebarContent .header{display:none}#uiContainer{gap:8px}#terminal-container2{display:none}#terminal-container{flex:0 0 120px;min-height:120px;max-height:120px;margin-top:8px;margin-bottom:0;display:block}#result{height:100%;padding:6px 8px}#usageTips{font-size:.64rem}.controlPanel{text-align:center;margin:8px 0;padding:10px}.controlPanel .settings-section{text-align:center;margin-top:1em}#sidebar h2{margin:6px 0 4px;font-size:1rem}#sidebar button,#zoomControls button{min-height:36px;padding:6px 10px;font-size:.8rem}#sidebarHandle{top:auto;bottom:var(--mobile-sidebar-height,42dvh);cursor:ns-resize;background:#00000024;width:100vw;height:12px;left:0!important}#sidebarHandle:after{content:"";background:#00000052;border-radius:999px;width:44px;height:4px;position:absolute;top:4px;left:calc(50% - 22px)}#zoomControls{top:calc(8px + env(safe-area-inset-top,0));gap:6px;right:8px}#zoomControls button{place-items:center;width:38px;height:38px;padding:6px;display:grid}#zoomControls button svg{width:22px;height:22px}#zScaleSliderContainer{margin-top:4px;padding:4px}#zScaleSlider{height:64px}}#zScaleSlider::-webkit-slider-runnable-track{appearance:none;background:#ddd;border:1px solid #333;border-radius:4px;width:6px}#zScaleSlider::-webkit-slider-thumb{appearance:none;background:#fafafa;border:1px solid #333;border-radius:2px;width:20px;height:10px;margin-left:-7px;transition:background .2s;box-shadow:0 2px 4px #0000001a}#zScaleSlider::-webkit-slider-thumb:hover{background:#f0f0f0}#zScaleSlider::-webkit-slider-thumb:focus{background:#f0f0f0}#zScaleSlider::-webkit-slider-thumb:active{background:#e0e0e0}#zScaleSlider::-moz-range-track{background:#ddd;border:1px solid #333;border-radius:4px;width:6px;height:80px}#zScaleSlider::-moz-range-thumb{background:#fafafa;border:1px solid #333;border-radius:2px;width:20px;height:10px;margin-left:-7px;transition:background .2s;box-shadow:0 2px 4px #0000001a}#zScaleSlider::-moz-range-thumb:hover{background:#f0f0f0}#zScaleSlider::-moz-range-thumb:focus{background:#f0f0f0}#zScaleSlider::-moz-range-thumb:active{background:#e0e0e0}#zScaleSlider::-ms-track{color:#0000;background:0 0;border-color:#0000;width:6px;height:80px}#zScaleSlider::-ms-fill-lower{background:#ddd;border-radius:4px}#zScaleSlider::-ms-fill-upper{background:#ddd;border-radius:4px}#zScaleSlider::-ms-thumb{background:#fafafa;border:1px solid #333;border-radius:2px;width:20px;height:10px;margin-left:-7px;transition:background .2s;box-shadow:0 2px 4px #0000001a}#zScaleSlider::-ms-thumb:hover{background:#f0f0f0}#zScaleSlider::-ms-thumb:focus{background:#f0f0f0}#zScaleSlider::-ms-thumb:active{background:#e0e0e0}@supports not ((-moz-appearance:none)){@media screen and (-webkit-device-pixel-ratio>=0){#zScaleSlider{transform-origin:50%;writing-mode:horizontal-tb;background:0 0;width:80px;height:80px;transform:rotate(270deg)}#zScaleSlider::-webkit-slider-runnable-track{width:100%;height:6px}#zScaleSlider::-webkit-slider-thumb{margin-top:-3px;margin-left:0;transform:rotate(270deg)}}}input[type=range]:not(#zScaleSlider){appearance:none;background:#ddd;border-radius:4px;outline:none;width:100%;height:6px;transition:background .2s,box-shadow .2s}input[type=range]:not(#zScaleSlider)::-webkit-slider-runnable-track{background:#ddd;border:1px solid #333;border-radius:4px;height:6px}input[type=range].log-slider:not(#zScaleSlider)::-webkit-slider-runnable-track{background:linear-gradient(90deg,#0000 calc(20% - 1px),#333 calc(20% - 1px) calc(20% + 1px),#0000 calc(20% + 1px)),linear-gradient(90deg,#0000 calc(40% - 1px),#333 calc(40% - 1px) calc(40% + 1px),#0000 calc(40% + 1px)),linear-gradient(90deg,#0000 calc(60% - 1px),#333 calc(60% - 1px) calc(60% + 1px),#0000 calc(60% + 1px)),linear-gradient(90deg,#0000 calc(80% - 1px),#333 calc(80% - 1px) calc(80% + 1px),#0000 calc(80% + 1px)),#ddd}input[type=range]:not(#zScaleSlider)::-webkit-slider-thumb{-webkit-appearance:none;background:#fafafa;border:1px solid #333;border-radius:2px;width:10px;height:20px;margin-top:-7px;transition:background .2s;box-shadow:0 2px 4px #0000001a}input[type=range]:not(#zScaleSlider):hover::-webkit-slider-thumb{background:#f0f0f0}input[type=range]:not(#zScaleSlider):focus::-webkit-slider-thumb{background:#f0f0f0}input[type=range]:not(#zScaleSlider):active::-webkit-slider-thumb{background:#e0e0e0}input[type=range]:not(#zScaleSlider)::-moz-range-track{background:#ddd;border:1px solid #333;border-radius:4px;height:6px}input[type=range].log-slider:not(#zScaleSlider)::-moz-range-track{background:linear-gradient(90deg,#0000 calc(20% - 1px),#333 calc(20% - 1px) calc(20% + 1px),#0000 calc(20% + 1px)),linear-gradient(90deg,#0000 calc(40% - 1px),#333 calc(40% - 1px) calc(40% + 1px),#0000 calc(40% + 1px)),linear-gradient(90deg,#0000 calc(60% - 1px),#333 calc(60% - 1px) calc(60% + 1px),#0000 calc(60% + 1px)),linear-gradient(90deg,#0000 calc(80% - 1px),#333 calc(80% - 1px) calc(80% + 1px),#0000 calc(80% + 1px)),#ddd}input[type=range]:not(#zScaleSlider)::-moz-range-thumb{background:#fafafa;border:1px solid #333;border-radius:2px;width:10px;height:20px;transition:background .2s;box-shadow:0 2px 4px #0000001a}input[type=range]:not(#zScaleSlider):hover::-moz-range-thumb{background:#f0f0f0}input[type=range]:not(#zScaleSlider):focus::-moz-range-thumb{background:#f0f0f0}input[type=range]:not(#zScaleSlider):active::-moz-range-thumb{background:#e0e0e0}input[type=range]:not(#zScaleSlider)::-ms-track{color:#0000;background:0 0;border-color:#0000;width:100%;height:6px}input[type=range]:not(#zScaleSlider)::-ms-fill-lower{background:#ddd;border-radius:4px}input[type=range]:not(#zScaleSlider)::-ms-fill-upper{background:#ddd;border-radius:4px}input[type=range]:not(#zScaleSlider)::-ms-thumb{background:#fafafa;border:1px solid #333;border-radius:2px;width:10px;height:20px;margin-top:0;transition:background .2s;box-shadow:0 2px 4px #0000001a}input[type=range]:not(#zScaleSlider):hover::-ms-thumb{background:#f0f0f0}input[type=range]:not(#zScaleSlider):focus::-ms-thumb{background:#f0f0f0}input[type=range]:not(#zScaleSlider):active::-ms-thumb{background:#e0e0e0}.controlPanel{background-color:#fafafa;border:1px solid #333;border-radius:6px;margin:15px 0;padding:0 15px 15px}.controlPanel.header{margin-top:0;margin-bottom:0;padding-top:13px}.controlPanel.controlPanel--compact{margin-top:5px;margin-bottom:20px}.controlPanel .button-group{flex-wrap:wrap;justify-content:center;gap:10px;font-size:.9rem;display:flex}.controlPanel .settings-section{margin-top:1.5em;display:none}.controlPanel .label-centered{text-align:center;margin-bottom:.5em;display:block}.controlPanel label{color:#333;margin-bottom:5px;font-family:JuliaMono,monospace;font-size:1rem;display:block}.controlPanel input[type=number]{width:100%;margin-top:5px;margin-bottom:10px}.controlPanel input[type=range]{width:100%;margin-top:10px;margin-bottom:10px}.controlPanel .log-slider-control{margin-top:8px}.controlPanel .log-slider{margin-bottom:4px}.controlPanel .log-slider-scale{color:#555;height:1em;margin-top:-2px;margin-bottom:10px;font-family:JuliaMono,monospace;font-size:.7rem;line-height:1;position:relative}.controlPanel .log-slider-scale span{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.controlPanel .log-slider-scale span:first-child{left:0;transform:none}.controlPanel .log-slider-scale span:nth-child(2){left:20%}.controlPanel .log-slider-scale span:nth-child(3){left:40%}.controlPanel .log-slider-scale span:nth-child(4){left:60%}.controlPanel .log-slider-scale span:nth-child(5){left:80%}.controlPanel .log-slider-scale span:nth-child(6){right:0;transform:none}.controlPanel .settings-checkbox-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.controlPanel .settings-checkbox-row label{align-items:center;gap:6px;margin-bottom:0;display:inline-flex}.objective-rotation{margin-top:1em}.objective-rotation .rotation-layout{align-items:flex-start;gap:1em;display:flex}.objective-rotation .rotation-column{flex:1}.objective-rotation .rotation-checkbox{flex-direction:column;align-items:center;display:flex}@keyframes pulse{0%{opacity:.14;transform:scale(1.002)}8%{opacity:.13;transform:scale(1.005)}15%{opacity:.05;transform:scale(1.01)}30%{opacity:.09;transform:scale(1.006)}to{opacity:.14;transform:scale(1.002)}}@keyframes vline{0%{transform:translateY(-8px)}to{transform:translateY(800px)}}@keyframes flash{0%,to{opacity:1}70%{opacity:.8}}
