:root{--yellow: rgba(255, 246, 133, 1);--yellow-70: rgba(255, 246, 133, .7);--yellow-50: rgba(255, 246, 133, .5);--primary-dark: rgba(4, 4, 4, 1);--mid-gray: rgb(212, 212, 220);--mid-gray-50: rgba(212, 212, 220, .5);--mid-gray-20: rgba(212, 212, 220, .2);--dark-blue: rgb(0, 73, 183);--light-blue: rgb(0, 221, 255);--light-blue-20: rgba(0, 221, 255, .2);--bright-red: rgb(255, 29, 88);--bright-red-20: rgba(255, 29, 88, .2)}body{margin:0;padding:0;font-family:Roboto Mono,monospace;font-size:14px}a{color:var(--dark-blue)}h1{font-size:20px;margin:0;padding:0 50px 0 0;font-family:Roboto,sans-serif;color:var(--primary-dark)}.container{display:flex;flex-direction:column;gap:8px;max-width:none;margin:0;height:100vh}.main-content{display:flex;flex:1;min-height:0;font-size:14px;border:2px solid var(--mid-gray);border-radius:4px;margin:10px 16px 8px}#input-text{height:100%;padding:10px;border:2px dashed var(--primary-dark);font-size:18px;margin:10px 16px 8px;font-family:Roboto,sans-serif}.nav-arrow{position:absolute;font-size:30px;line-height:32px;font-weight:400;top:0;text-align:center;cursor:pointer;right:0;width:40px;height:40px;background-color:var(--mid-gray-20);font-family:Roboto Mono,monospace}.nav-arrow:hover{color:var(--dark-blue);background-color:var(--mid-gray)}.nav-arrow .nav-arrow-tooltip{display:none}.nav-arrow:hover .nav-arrow-tooltip{display:block}.nav-arrow-tooltip{position:absolute;top:6px;width:160px;font-size:12px;background-color:#f8f8f8;padding:5px;border:1px solid var(--mid-gray);color:#000;box-shadow:#0000003d 0 3px 8px;right:30px;line-height:20px;z-index:1}.navigation-panel{display:flex;align-items:center;padding:10px 16px 0;font-family:Roboto,sans-serif}.line-nav-item{height:26px;display:inline-block;border-left:2px solid var(--mid-gray);padding:6px 20px 0;width:fit-content}.nav-button{background-color:transparent;display:inline-block;color:var(--primary-dark);font-family:Roboto,sans-serif;border:0px;text-decoration:underline}.nav-button:hover{color:var(--dark-blue)}.file-input-container{display:flex;justify-content:left;align-items:center}#file-input{min-width:200px}#goto-line-input{width:60px}#log-example-dropdown{margin:0 10px}.howto-container{flex-grow:1;text-align:right}.howto-link{font-weight:700}#c-source-container{flex:1;min-width:0;gap:0;flex-grow:1}#c-source-content{overflow-y:scroll;height:100%}.c-source-panel{position:relative;border-right:2px solid var(--mid-gray)}.c-source-file{width:100%}.filename-header{height:18px;font-weight:700;padding:10px 0 10px 10px;border-top:2px solid var(--mid-gray);border-bottom:2px solid var(--mid-gray);font-family:Roboto,sans-serif}.c-source-file:first-child .filename-header{border-top:0px}.file-lines{display:flex;flex-direction:row;flex:1;min-width:0;gap:0;overflow:auto}.source-lines{color:var(--dark-blue)}#log-container{flex:1;min-width:0;gap:0;flex-grow:1;position:relative}#log-content{overflow-y:scroll;height:100%;display:flex;flex-direction:row;min-width:0;gap:0}.log-nav-button{line-height:38px;box-sizing:border-box}#goto-start{right:40px;width:42px;padding-right:4px;border-right:2px solid var(--mid-gray)}#goto-end{padding-left:6px}#goto-start .log-button-txt{transform:rotate(-90deg)}#goto-end .log-button-txt{transform:rotate(90deg)}.line-numbers{padding:10px 8px;background-color:var(--mid-gray-20);border-right:2px solid var(--mid-gray);line-height:1.4;text-align:right;color:var(--primary-dark);-webkit-user-select:none;user-select:none;min-width:3em;white-space:pre;height:fit-content}#line-numbers-pc{color:var(--primary-dark)}#formatted-log-lines,.source-lines{background:#fff;padding:10px;line-height:1.4;white-space:pre;height:fit-content;flex-grow:1}.mem-slot{cursor:pointer}.mem-slot:hover{background-color:var(--mid-gray-50)}.register-panel{display:flex;flex-direction:column;gap:10px}.ignorable-line{color:var(--mid-gray)}.error-message{color:#cf2106;font-weight:700}.inline-c-source-line{color:var(--dark-blue)}.active_mem_slot .inline-c-source-line.selected-line,.active_mem_slot .inline-c-source-line.dependency-line{color:var(--primary-dark)}.selected-line,.ignorable-line.selected-line,.dependency-line.selected-line{background-color:var(--yellow-50);color:#000}.active_mem_slot .normal-line,.active_mem_slot .inline-c-source-line{color:#888}.active_mem_slot .normal-line.selected-line,.active_mem_slot .normal-line.dependency-line{color:#000}.active_mem_slot .selected-line .mem-slot,.dependency-line .mem-slot{font-weight:700}.line-numbers-line,.dep-arrow,.log-line,.c-source-line{height:20px}.log-line{display:flex}.line-indent{width:20px;display:inline-block;border-left:1px solid #dbdbdb;align-self:stretch}.log-line:hover,.c-source-line:hover{background-color:var(--mid-gray-20);color:#000}.log-line.selected-line:hover,.c-source-line.selected-line:hover{background-color:var(--yellow-70)}.dependency-line{background-color:var(--mid-gray-20)}.effect-write{background-color:var(--bright-red-20)}.effect-read{background-color:var(--light-blue-20)}.dependency-mem-slot{font-weight:700}#log-container .selected-mem-slot{border:1px solid black}#mem-slot-tooltip{position:fixed;display:none;background-color:#fff;padding:5px 10px;font-family:monospace;font-size:12px;z-index:1000;pointer-events:none;box-shadow:0 2px 4px #0003;border-style:solid;border-color:#000;border-width:1px}#mem-slot-tooltip-arrow{content:"";position:absolute;transform:translate(-50%);border-width:0 5px 5px 5px;border-style:solid;border-color:transparent transparent #333 transparent}.scratched{color:gray}#dependency-arrows{padding-top:10px;padding-bottom:10px;line-height:1.4;text-align:right;-webkit-user-select:none;user-select:none;min-width:2em;white-space:pre;height:fit-content}.dep-arrow{position:relative}.dep-end:before{content:"└─";padding-left:10px}.dep-start:before{content:"┌─";padding-left:10px}.dep-mid:before{content:"├─";padding-left:10px}.dep-track:before{content:"│ ";padding-left:10px}.dep-track.active-up:hover:before{content:"▲ ";padding-left:10px}.dep-track.active-down:hover:before{content:"▼ ";padding-left:10px}.state-panel{background-color:var(--mid-gray-20);border-left:2px solid var(--mid-gray);position:relative;font-family:Roboto,sans-serif}#state-panel{flex:1;padding:0;position:relative}#state-panel-content{overflow-y:scroll;height:100%}.panel-hidden{flex:none;width:40px;text-align:center}#state-panel-header{display:flex;flex-direction:row;margin-bottom:10px;color:var(--primary-dark);height:40px;padding:11px;box-sizing:border-box;border-bottom:2px solid var(--mid-gray)}#state-panel-header .bold{font-weight:700}#state-panel-header div{display:inline-block;margin-right:32px}.panel-header-active{cursor:pointer}.panel-header-active:hover{text-decoration:underline}#state-panel-table{padding:0 10px}.state-panel table{width:100%;border-collapse:collapse;font-family:monospace;font-size:14px}.state-panel td{padding:4px 8px;border-bottom:1px solid #ddd}.state-panel tr{cursor:pointer}.state-panel tr:hover{background-color:var(--mid-gray-20)}.state-panel tr.row-empty:hover{background-color:transparent}.mem-slot-label{font-weight:700;color:var(--primary-dark);width:7ch}.state-panel td:last-child{font-family:monospace;word-break:break-all}#state-panel-content .selected-mem-slot,.state-panel .selected-mem-slot .mem-slot-label{font-weight:700;color:#000}.hide-show-button.hidden.left .hide-show-tooltip{right:auto;left:30px}#hint{padding:0 16px 16px;color:var(--primary-dark);min-height:40px;font-family:Roboto,sans-serif}.hint-line{font-size:16px;line-height:20px}.hint-line span{font-weight:700}.loader-container{width:100%;height:100%;position:absolute;top:0;left:0;background-color:#0003}.loader-content{width:80px;top:50%;left:50%;transform:translate(-50%,-50%);position:absolute}.loader{aspect-ratio:1;display:grid;-webkit-mask:conic-gradient(from 15deg,#0003,#000);mask:conic-gradient(from 15deg,#0003,#000);animation:load 1s steps(12) infinite;color:var(--dark-blue);width:80px}.loader,.loader:before,.loader:after{background:radial-gradient(closest-side at 50% 12.5%,currentColor 90%,#0000 98%) 50% 0/20% 80% repeat-y,radial-gradient(closest-side at 12.5% 50%,currentColor 90%,#0000 98%) 0 50%/80% 20% repeat-x}.loader:before,.loader:after{content:"";grid-area:1/1;transform:rotate(30deg)}.loader:after{transform:rotate(60deg)}@keyframes load{0%{transform:rotate(0)}to{transform:rotate(1turn)}}
