:root{--blockpy-bg-parchment: #fcf8e3;--blockpy-border-warm: #faebcc;--blockpy-run-green: rgb(40, 130, 40);--blockpy-run-green-focus: rgb(20, 100, 20);--blockpy-run-running: var(--blockpy-status-warning);--blockpy-run-error: var(--blockpy-status-danger);--blockpy-delete-maroon: rgb(130, 40, 40);--blockpy-delete-maroon-dark: rgb(100, 20, 20);--blockpy-status-success: #5cb85c;--blockpy-status-success-dark: #358535;--blockpy-status-info: #5bc0de;--blockpy-status-warning: #f0ad4e;--blockpy-status-danger: #d9534f;--blockpy-status-syntax: darkred;--blockpy-status-semantic: orangered;--blockpy-status-internal: black;--blockpy-status-offline: #333;--blockpy-positive-green: green;--blockpy-alert-red: red;--blockpy-student-error-pink: pink;--blockpy-tab-bg: #cccccc;--blockpy-tab-border: #ddd;--blockpy-tab-active-bg: white;--blockpy-tab-uneditable: darkblue;--blockpy-line-active-bg: #c4fbc4;--blockpy-line-active-text: #8a1f11;--blockpy-line-error-bg: #fbc4c4;--blockpy-line-uncovered-bg: #fbfbc4;--blockpy-editor-readonly-bg: #e5e5e5;--blockpy-gutter-border: #bbb;--blockpy-line-rule: rgba(1, 1, 1, .1);--blockpy-neutral-900: black;--blockpy-neutral-800: #333;--blockpy-neutral-700: #444;--blockpy-neutral-600: #666;--blockpy-neutral-500: #8c8c8c;--blockpy-neutral-450: #adadad;--blockpy-neutral-400: darkgray;--blockpy-neutral-350: #bbb;--blockpy-neutral-300: #cccccc;--blockpy-neutral-250: lightgray;--blockpy-neutral-200: #ddd;--blockpy-neutral-150: #e5e5e5;--blockpy-neutral-125: #e6e6e6;--blockpy-neutral-100: #eee;--blockpy-neutral-75: #f0f0f0;--blockpy-neutral-0: white;--blockpy-overlay-1: #988;--blockpy-overlay-2: #655;--blockpy-overlay-3: #333;--blockpy-overlay-4: black;--blockpy-pygame-exit: rgb(220, 53, 69);--blockpy-pygame-exit-border: rgb(200, 33, 49);--blockpy-pygame-exit-hover: rgb(240, 73, 89);--blockpy-pygame-exit-active: rgb(255, 150, 150)}.blockpy-content,.blockpy-content *,.blockpy-content *:before,.blockpy-content *:after{box-sizing:border-box}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.col-md-3,.col-md-5,.col-md-6,.col-md-7,.col-md-9,.col-md-12{position:relative;width:100%;padding-right:15px;padding-left:15px}@media(min-width:768px){.col-md-3{flex:0 0 25%;max-width:25%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-12{flex:0 0 100%;max-width:100%}}.col-sm-2,.col-sm-4,.col-sm-10,.col-sm-12{position:relative;width:100%;padding-right:15px;padding-left:15px}@media(min-width:576px){.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-12{flex:0 0 100%;max-width:100%}}.text-right{text-align:right!important}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.btn:hover{color:#212529;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:0 0 0 .2rem #007bff40}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-outline-secondary{color:#62696f;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem #6c757d80}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #6c757d80}.btn-success{color:#fff;background-color:#1e7e34;border-color:#1e7e34}.btn-success:hover{color:#fff;background-color:#19692c;border-color:#19692c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#19692c;border-color:#19692c;box-shadow:0 0 0 .2rem #48b46180}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-group{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after{margin-left:0}.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-info{color:#fff;background-color:#17a2b8}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.dropdown{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-right{right:0;left:auto}.dropdown-menu.show{display:block}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.custom-select{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-control:not(:last-child),.input-group>.custom-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-label{margin-bottom:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem #007bff40}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}textarea.form-control{height:auto}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L2 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem #007bff40}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.table{width:100%;margin-bottom:1rem;color:#212529}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm th,.table-sm td{padding:.3rem}.table-bordered,.table-bordered th,.table-bordered td{border:1px solid #dee2e6}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:#0000000d}.table-hover tbody tr:hover{color:#212529;background-color:#00000013}.float-right{float:right!important}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.d-none{display:none!important}.clearfix:after{display:block;clear:both;content:""}.mr-2{margin-right:.5rem!important}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.col{position:relative;width:100%;padding-right:15px;padding-left:15px;flex-basis:0;flex-grow:1;max-width:100%}.justify-content-between{justify-content:space-between!important}.bg-success{background-color:#28a745!important}.bg-danger{background-color:#dc3545!important}.bg-dark{background-color:#343a40!important}.text-white{color:#fff!important}.text-center{text-align:center!important}.border{border:1px solid #dee2e6!important}.rounded{border-radius:.25rem!important}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{background-color:#0069d9;border-color:#0062cc}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff;opacity:.65}.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.d-inline-block{display:inline-block!important}.form-group{margin-bottom:1rem}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-4{padding:1.5rem!important}.pt-4{padding-top:1.5rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.m-1{margin:.25rem!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mb-1{margin-bottom:.25rem!important}.mr-1{margin-right:.25rem!important}.ml-2{margin-left:.5rem!important}.mb-3{margin-bottom:1rem!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-muted{color:#62696f!important}.modal{position:fixed;top:0;left:0;z-index:1050;width:100%;height:100%;overflow:hidden;outline:0;background-color:#00000080}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}@media(min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}}@media(min-width:992px){.modal-lg{max-width:800px}}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem;overflow-y:auto}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal .close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5;padding:0;background-color:transparent;border:0;cursor:pointer}.form-inline{display:flex;flex-flow:row wrap;align-items:center}@media(min-width:576px){.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .custom-select{width:auto}}.blockpy-content .row{border-bottom:1px solid var(--blockpy-border-warm)}.blockpy-content .blockpy-panel{padding-left:10px;padding-right:10px;padding-bottom:5px}.blockpy-bottom,.blockpy-header{height:25%}.blockpy-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--blockpy-neutral-900);filter:alpha(opacity=50);-moz-opacity:.5;-khtml-opacity:.5;opacity:.5;z-index:10000}.blockpy-loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center}.blockpy-loading-overlay-card{display:flex;align-items:center;gap:10px;padding:12px 20px;font-size:1.1em;background-color:var(--blockpy-bg-parchment);color:var(--blockpy-neutral-800);border:1px solid var(--blockpy-neutral-450);border-radius:4px;box-shadow:0 2px 10px #0000004d}.blockpy-loading-spinner{flex:none;width:1.2em;height:1.2em;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:blockpy-loading-spin .75s linear infinite}@keyframes blockpy-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.blockpy-loading-spinner{animation-duration:2s}}.blockpy-run .blockpy-loading-spinner{display:inline-block;vertical-align:text-bottom;border-width:2px}.blockpy-console-booting{display:flex;align-items:center;gap:8px;font-style:italic;color:var(--blockpy-neutral-800)}.green-check-mark{font-weight:700;color:var(--blockpy-positive-green);text-shadow:-1px 0 var(--blockpy-neutral-900),0 1px var(--blockpy-neutral-900),1px 0 var(--blockpy-neutral-900),0 -1px var(--blockpy-neutral-900)}.blockpy-content .fas{font-size:12px}.blockpy-dialog .modal-body{overflow-y:auto}.blockpy-dialog .modal-body table{width:100%}.blockpy-dialog .row{border-bottom:0}.corgis-icon{max-width:32px}.blockpy-content .blockpy-instructions pre,.blockpy-content .blockpy-instructions code{font-family:monospace}.blockpy-content .blockpy-instructions blockquote{font-style:italic}.blockpy-content .blockpy-instructions p,.blockpy-content .blockpy-instructions pre{margin-bottom:4px}.blockpy-instructions-reset a{font-size:smaller}.blockpy-content .blockpy-quick-menu{padding-left:10px;border-left:1px solid var(--blockpy-border-warm)}.blockpy-content .blockpy-console{padding-top:10px}.blockpy-content .blockpy-show-feedback{margin-top:10px;margin-left:10px}.blockpy-printer{height:200px;overflow:auto;resize:vertical;padding-bottom:64px}.blockpy-printer-default{background-color:var(--blockpy-neutral-0);border:1px solid var(--blockpy-neutral-250)}.blockpy-printer-inverse{background-color:var(--blockpy-neutral-900);border:1px solid var(--blockpy-neutral-400);color:var(--blockpy-neutral-0)}.blockpy-printer .blockpy-printer-output{display:block;padding-left:10px;border-bottom:1px dashed var(--blockpy-neutral-250)}.blockpy-printer .blockpy-printer-output samp{white-space:pre}.blockpy-printer .blockpy-printer-traceback{margin:0;color:#8b0000;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em;white-space:pre-wrap}.blockpy-printer .blockpy-printer-output:has(.blockpy-printer-traceback){border-left:3px solid red}.blockpy-console-plot-output{cursor:pointer}.blockpy-console-image-output img{width:100%;height:auto;max-height:480px;object-fit:contain}.blockpy-console-input input{width:75%}.blockpy-btn-eval{position:absolute;bottom:2px;left:20px}.blockpy-content .blockpy-console{position:relative}.blockpy-dev-console .blockpy-dev-printer{padding-bottom:0;background-color:var(--blockpy-neutral-900);border:1px solid var(--blockpy-neutral-400);color:var(--blockpy-neutral-0);font-family:monospace;font-size:12px}.blockpy-dev-console .blockpy-dev-printer .blockpy-printer-output{border-bottom:none}.blockpy-console-toggle .blockpy-console-toggle-badge{background-color:var(--blockpy-status-danger);color:var(--blockpy-neutral-0);margin-left:4px}.blockpy-content .feedback-badge{font-size:75%;color:var(--blockpy-neutral-0)}.blockpy-content .label-internal-error{background-color:var(--blockpy-status-internal)}.blockpy-content .label-syntax-error{background-color:var(--blockpy-status-syntax)}.blockpy-content .label-runtime-error{background-color:var(--blockpy-status-danger)}.blockpy-content .label-semantic-error{background-color:var(--blockpy-status-semantic)}.blockpy-content .label-feedback-error{background-color:var(--blockpy-status-warning)}.blockpy-content .label-problem-complete{background-color:var(--blockpy-status-success)}.blockpy-content .label-none{background-color:#0000}.blockpy-content .label-no-errors,.blockpy-content .label-instructions{background-color:var(--blockpy-status-info)}.blockpy-content .label-success{background-color:var(--blockpy-status-success-dark)}.blockpy-feedback{padding:10px;display:flex;flex-direction:column}.blockpy-feedback-body{flex:1 1 auto;overflow-y:auto;min-height:0}.blockpy-feedback-response{flex:none;text-align:right;margin-top:2px}.blockpy-panel-header{display:flex;align-items:center;gap:4px}.blockpy-panel-header .blockpy-panel-header-action{margin-left:auto}.blockpy-file-tree-rail{border-right:1px solid var(--blockpy-border-warm)}.blockpy-file-tree{font-size:13px;overflow-y:auto;max-height:480px}.blockpy-file-tree-bucket{margin-bottom:6px}.blockpy-file-tree-header{font-weight:700;padding:2px 4px;border-bottom:1px solid var(--blockpy-neutral-250)}.blockpy-file-tree-prefix{margin-left:6px;padding:0 4px;background:var(--blockpy-tab-bg);border-radius:3px}.blockpy-file-tree-row{display:flex;align-items:center;padding:2px 4px 2px 12px;cursor:pointer}.blockpy-file-tree-row:hover{background:var(--blockpy-tab-border)}.blockpy-file-tree-row.active{background:var(--blockpy-neutral-0);font-weight:700}.blockpy-file-tree-row.uneditable .blockpy-file-tree-name{color:#00008b;font-style:italic}.blockpy-file-tree-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blockpy-file-tree-actions{display:none;flex-shrink:0}.blockpy-file-tree-row:hover .blockpy-file-tree-actions,.blockpy-file-tree-row.active .blockpy-file-tree-actions{display:inline-flex}.blockpy-file-tree-action{border:none;background:none;padding:0 2px;cursor:pointer}.blockpy-file-tree-action.blockpy-file-tree-delete{color:var(--blockpy-delete-maroon)}.blockpy-docs-rail{border-left:1px solid var(--blockpy-border-warm)}.blockpy-docs-panel .blockpy-panel-header{gap:8px}.blockpy-docs-download{font-size:smaller}.blockpy-docs-toc{font-size:13px;border-bottom:1px solid var(--blockpy-neutral-250);margin-bottom:6px;padding-bottom:6px}.blockpy-docs-toc ul{list-style:none;margin:4px 0 0;padding:0;max-height:160px;overflow-y:auto}.blockpy-docs-body{overflow-y:auto;max-height:480px}.blockpy-docs-loading,.blockpy-docs-error{font-style:italic;padding:8px 0}.blockpy-csv-toolbar,.blockpy-json-toolbar{display:flex;align-items:center;gap:8px;padding:4px 0;flex-wrap:wrap}.blockpy-csv-grid-wrap{overflow:auto;max-height:400px;background:var(--blockpy-neutral-0);border:1px solid var(--blockpy-neutral-250)}.blockpy-csv-grid{border-collapse:collapse;width:100%}.blockpy-csv-grid th,.blockpy-csv-grid td{border:1px solid var(--blockpy-neutral-250);padding:0}.blockpy-csv-grid input{width:100%;border:none;padding:2px 6px;background:transparent;font-family:monospace}.blockpy-csv-grid thead input{font-weight:700}.blockpy-csv-row-actions{width:24px;text-align:center}.blockpy-csv-delete-row{border:none;background:none;cursor:pointer;color:var(--blockpy-delete-maroon)}.blockpy-json-code .cm-editor{border:1px solid var(--blockpy-neutral-250);max-height:400px}.blockpy-json-status-detail{font-size:smaller;color:var(--blockpy-status-danger)}.blockpy-json-tree{background:var(--blockpy-neutral-0);border:1px solid var(--blockpy-neutral-250);max-height:400px;overflow:auto;padding:6px;font-family:monospace;font-size:13px}.blockpy-json-tree ul{list-style:none;margin:0;padding-left:16px}.blockpy-structured-return{margin-bottom:4px}.blockpy-image-toolbar{display:flex;align-items:center;gap:8px;padding:4px 0;flex-wrap:wrap}.blockpy-image-checkerboard{background-image:linear-gradient(45deg,var(--blockpy-neutral-250) 25%,transparent 25%),linear-gradient(-45deg,var(--blockpy-neutral-250) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--blockpy-neutral-250) 75%),linear-gradient(-45deg,transparent 75%,var(--blockpy-neutral-250) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0px;background-color:var(--blockpy-neutral-0)}.blockpy-image-preview{overflow:auto;max-height:400px;border:1px solid var(--blockpy-neutral-250);padding:8px}.blockpy-image-preview img{image-rendering:pixelated}.blockpy-image-dimensions{font-family:monospace}.blockpy-image-error{color:var(--blockpy-status-danger);padding:4px 0}.blockpy-pixel-grid{overflow:auto;max-height:400px;border:1px solid var(--blockpy-neutral-250);width:fit-content}.blockpy-pixel-row{display:flex;height:14px}.blockpy-pixel-cell{width:14px;height:14px;flex-shrink:0;border:none;outline:1px solid var(--blockpy-line-rule);background:transparent;padding:0;cursor:crosshair}.blockpy-pixel-swatch{width:20px;height:20px;border:1px solid var(--blockpy-neutral-350);padding:0;cursor:pointer}.blockpy-pixel-swatch.active{outline:2px solid var(--blockpy-status-info)}.blockpy-pixel-size{width:60px}.blockpy-focus-drawer{border-top:1px solid var(--blockpy-border-warm)}.blockpy-focus-drawer-bar{display:flex;align-items:center;gap:8px;padding:4px 0}.blockpy-focus-feedback-badge{cursor:pointer}.blockpy-feedback-traces table{background:var(--blockpy-neutral-0);width:100%}.blockpy-feedback-positives{margin-top:4px}.blockpy-feedback-positive{color:var(--blockpy-positive-green)}.blockpy-feedback-thank-you{position:absolute;bottom:0;right:0;opacity:0;transition:all .5s ease-out}.blockpy-feedback-thank-you.show{opacity:1;transform:translateY(-16px)}table.pedal-table{background:var(--blockpy-neutral-0);width:100%;padding-top:4px}table.pedal-table tr.pedal-row{border-top:1px solid var(--blockpy-neutral-250)}table.pedal-table pre.pedal-python-code{display:inline-block}.blockpy-feedback pre{background:var(--blockpy-neutral-75);border:1px solid var(--blockpy-neutral-250);font-size:12px;padding:3px 5px;border-radius:4px;overflow-x:auto}.blockpy-feedback pre strong{font-size:12px}.blockpy-feedback pre span.filename{color:var(--blockpy-positive-green);font-weight:700;font-size:12px}.blockpy-feedback pre span.lineno{color:var(--blockpy-status-semantic);font-weight:700;font-size:12px}.blockpy-feedback-unit code{color:var(--blockpy-neutral-900);background-color:transparent}.blockpy-feedback-original{white-space:pre-wrap}.blockpy-content .blockpy-floating-feedback{z-index:100;margin-top:10px;display:none;color:var(--blockpy-alert-red)}.blockpy-content .blockpy-trace{padding-top:10px}.blockpy-content .blockpy-hide-trace{margin-top:10px;margin-left:10px}.blockpy-content .blockpy-trace-controls button{margin-top:0;margin-bottom:0}.blockpy-content .nav-tabs{border-bottom:none}.blockpy-content .nav-link{padding:.2rem .5rem;background-color:var(--blockpy-tab-bg);color:var(--blockpy-neutral-900);border:none;border-left:2px solid var(--blockpy-tab-border);border-right:2px solid var(--blockpy-tab-border);border-radius:0}.blockpy-content .nav-link.active{background-color:var(--blockpy-tab-active-bg);color:var(--blockpy-neutral-900);border:1px solid var(--blockpy-tab-border);border-right:2px solid var(--blockpy-tab-border);border-left:2px solid var(--blockpy-tab-border);padding-bottom:.1rem;font-weight:700}.blockpy-content .nav-link:hover{background-color:var(--blockpy-tab-border)}.blockpy-content .nav-link.active:hover{background-color:var(--blockpy-tab-active-bg)}.blockpy-content a.nav-link{text-decoration:none}.blockpy-content .nav-link.uneditable{color:var(--blockpy-tab-uneditable);font-style:italic}.blockpy-content .nav-item strong{vertical-align:middle;padding-right:5px}.blockpy-content .nav-tabs .nav-item:first-child{padding-top:7px}.blockpy-content .nav-tabs .nav-item{padding-top:5px}.btn-file{position:relative;overflow:hidden;cursor:pointer}.btn-file input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;font-size:100px;text-align:right;filter:alpha(opacity=0);opacity:0;outline:none;background:var(--blockpy-neutral-0);cursor:pointer;display:block}.blockpy-content .blockpy-python-toolbar{padding-left:0}button.blockpy-run{background-color:var(--blockpy-run-green);color:var(--blockpy-neutral-0)}button.blockpy-run:focus{background-color:var(--blockpy-run-green-focus)}.blockpy-content button.blockpy-run.blockpy-run-running{background-color:var(--blockpy-run-running)}.blockpy-content button.blockpy-run.blockpy-run-error{background-color:var(--blockpy-run-error)}button.blockpy-delete{background-color:var(--blockpy-neutral-0);border-color:var(--blockpy-delete-maroon);color:var(--blockpy-neutral-900)}button.blockpy-delete:focus{border-color:var(--blockpy-delete-maroon-dark)}button.blockpy-delete:active{background-color:var(--blockpy-delete-maroon-dark);color:var(--blockpy-neutral-0)}.blockpy-text,.blockpy-upload{border:1px solid var(--blockpy-neutral-250)}.editor-active-line{background:var(--blockpy-line-active-bg)!important;color:var(--blockpy-line-active-text)!important}.CodeMirror-gutters{background-color:var(--blockpy-tab-border);border-left:1px solid var(--blockpy-gutter-border)}.blockpy-content .cm-gutters{background-color:var(--blockpy-tab-border);border-right:1px solid var(--blockpy-gutter-border)}.blockpy-content .cm-editor{background-color:var(--blockpy-neutral-0)}.editor-error-line{background:var(--blockpy-line-error-bg)!important}.editor-uncovered-line{background:var(--blockpy-line-uncovered-bg)!important}.editor-traced-line{background:var(--blockpy-line-active-bg)!important}div.blockpy-text.blockpy-editor-menu.col-md-6{padding-left:0;padding-right:0}div.blockpy-blocks.blockpy-editor-menu.col-md-6{padding-left:0}.CodeMirror-code div pre,.blockpy-content .cm-line{border-bottom:1px dashed var(--blockpy-line-rule)}.blockpy-read-only .CodeMirror-scroll,.blockpy-read-only .cm-scroller{background-color:var(--blockpy-editor-readonly-bg)}.blockpy-content .editor-preview{background:var(--blockpy-bg-parchment);padding:0;border:1px solid var(--blockpy-border-warm)}.blockpy-content .editor-toolbar{background:var(--blockpy-neutral-100);border:1px solid var(--blockpy-neutral-250)}.blockpy-content .cm-s-easymde{border-bottom:1px solid var(--blockpy-neutral-250);border-left:1px solid var(--blockpy-neutral-250);border-right:1px solid var(--blockpy-neutral-250)}.blockpy-content .cm-s-easymde .CodeMirror-scroll{width:100%}.blockpy-view-settings .row{border-bottom:0}.blockpy-content .blockpy-status span,.blockpy-content .blockpy-status label{font-size:12px}.blockpy-content .badge{font-size:75%;color:var(--blockpy-neutral-0)}.blockpy-content .badge.server-status-ready{background-color:var(--blockpy-status-success-dark)}.blockpy-content .badge.server-status-active{background-color:#1a7a96}.blockpy-content .badge.server-status-retrying{background-color:var(--blockpy-status-warning);color:#212529}.blockpy-content .badge.server-status-failed{background-color:#b52b27}.blockpy-content .badge.server-status-offline{background-color:var(--blockpy-status-offline)}.blockpy-content .blockpy-hidden-file{display:none}.notransition{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.blockpy-content .blockpy-feedback-message p{margin-bottom:0}.blockpy-content .blockpy-feedback-message p+p{margin-top:.5rem}.blockpy-content .blockpy-feedback-message pre{margin:0}.blockpy-content .blockpy-feedback-message pre+p{margin-top:.5rem}.blockpy-content .blockpy-feedback-message code{padding:0}.blockpy-content .blockpy-feedback-positive{right:10px;bottom:0}.blockpy-content .blockpy-feedback-positive .blockpy-feedback-positive-icon{font-size:16px;cursor:pointer}.blockpy-content .blockpy-dialog-student-error-message{padding:10px;border:1px solid var(--blockpy-neutral-250)}.blockpy-quick-menu .blockpy-student-error{font-size:16px;cursor:pointer;color:var(--blockpy-student-error-pink);background:none;border:none;padding:0 2px;opacity:.55}.blockpy-quick-menu .blockpy-student-error:hover,.blockpy-quick-menu .blockpy-student-error:focus{opacity:1}.blockpy-content sup{font-size:12px}.pedal-positive-mark{color:var(--blockpy-positive-green);font-size:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.blockpy-console-pygame-output{z-index:9;cursor:pointer}.pygame-title-bar{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--blockpy-neutral-400);border-bottom:none;position:relative;padding-left:2px;background-color:var(--blockpy-neutral-75);border-top-left-radius:1px;border-top-right-radius:1px}.pygame-title-exit{width:20px;height:20px;line-height:0;padding:0;margin-right:4px;vertical-align:middle;text-align:center;border:1px solid var(--blockpy-pygame-exit-border);background-color:var(--blockpy-pygame-exit);color:var(--blockpy-neutral-0);border-radius:2px;cursor:pointer}.pygame-title-exit:hover{background-color:var(--blockpy-pygame-exit-hover)}.pygame-title-exit:active{background-color:var(--blockpy-pygame-exit-active)}.feedback-shrunk{max-height:4em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-expand-on-click{cursor:pointer;border:1px solid var(--blockpy-neutral-250)}.feedback-shrunk.feedback-expand-on-click:before{content:"+";float:right}.feedback-expand-on-click:not(.feedback-shrunk):before{content:"-";float:right}.blockpy-copy-share-link-area{overflow-x:auto;-webkit-user-select:all;user-select:all}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.blockpy-content *{font-size:14px}.blockpy-content .btn-sm,.blockpy-content .btn-sm span{font-size:12px}.blockpy-content a{text-decoration:underline}.blockpy-content{background-color:var(--blockpy-bg-parchment);border:1px solid var(--blockpy-border-warm);padding-left:0;padding-right:0}.blockpy-content .btn{margin-bottom:5px;margin-top:5px}.blockpy-content .btn-outline-secondary{background-color:var(--blockpy-neutral-0);color:var(--blockpy-neutral-800)}.blockpy-content .btn-outline-secondary:focus{color:var(--blockpy-neutral-800);border-color:var(--blockpy-neutral-500);background-color:var(--blockpy-neutral-125)}.blockpy-content .btn-outline-secondary:hover{color:var(--blockpy-neutral-800);border-color:var(--blockpy-neutral-450);background-color:var(--blockpy-neutral-125)}.blockpy-content .text-muted-less{color:var(--blockpy-neutral-700)}.blockpy-content .label-default{background-color:var(--blockpy-neutral-600)}.row{margin-left:0;margin-right:0}.blockpy-content .alert{color:var(--blockpy-neutral-900)}.blockpy-content table{background-color:var(--blockpy-neutral-0)}.CodeMirror-gutters,.cm-gutters{background-color:var(--blockpy-tab-border)}.CodeMirror-code div pre,.cm-line{border-bottom:1px dashed var(--blockpy-line-rule)}.block-mirror-read-only .CodeMirror-scroll,.block-mirror-read-only .cm-scroller{background-color:var(--blockpy-editor-readonly-bg)}.blockly-readonly-layer{color:var(--blockpy-neutral-0);background-color:var(--blockpy-neutral-0);opacity:.25;position:absolute;z-index:100}.blockmirror-toolbox-variable>.blocklyFlyoutLabelText{font-style:normal;fill:var(--blockpy-neutral-900)}.blockmirror-toolbox-variable>.blocklyFlyoutLabelBackground{font-style:normal;fill:var(--blockpy-neutral-0);opacity:1;stroke:var(--blockpy-neutral-400);transform:translate(-1px,-5px) scale(1.1,1.5)}.blockpy-content pre code.hljs{display:block;overflow-x:auto;padding:1em}.blockpy-content code.hljs{padding:3px 5px}.blockpy-content .hljs{background:#f3f3f3;color:#444}.blockpy-content .hljs-comment{color:#697070}.blockpy-content .hljs-tag,.blockpy-content .hljs-punctuation{color:#444a}.blockpy-content .hljs-tag .hljs-name,.blockpy-content .hljs-tag .hljs-attr{color:#444}.blockpy-content .hljs-keyword,.blockpy-content .hljs-attribute,.blockpy-content .hljs-selector-tag,.blockpy-content .hljs-meta .hljs-keyword,.blockpy-content .hljs-doctag,.blockpy-content .hljs-name{font-weight:700}.blockpy-content .hljs-type,.blockpy-content .hljs-string,.blockpy-content .hljs-number,.blockpy-content .hljs-selector-id,.blockpy-content .hljs-selector-class,.blockpy-content .hljs-quote,.blockpy-content .hljs-template-tag,.blockpy-content .hljs-deletion{color:#800}.blockpy-content .hljs-title,.blockpy-content .hljs-section{color:#800;font-weight:700}.blockpy-content .hljs-regexp,.blockpy-content .hljs-symbol,.blockpy-content .hljs-variable,.blockpy-content .hljs-template-variable,.blockpy-content .hljs-link,.blockpy-content .hljs-selector-attr,.blockpy-content .hljs-operator,.blockpy-content .hljs-selector-pseudo{color:#ab5656}.blockpy-content .hljs-literal{color:#695}.blockpy-content .hljs-built_in,.blockpy-content .hljs-bullet,.blockpy-content .hljs-code,.blockpy-content .hljs-addition{color:#397300}.blockpy-content .hljs-meta{color:#1f7199}.blockpy-content .hljs-meta .hljs-string{color:#38a}.blockpy-content .hljs-emphasis{font-style:italic}.blockpy-content .hljs-strong{font-weight:700}.blockpy-minified{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;padding:6px 10px}.blockpy-minified .blockpy-minified-left{flex:2 1 240px;display:flex;flex-direction:column;min-width:200px}.blockpy-minified .blockpy-minified-right{flex:3 1 320px;min-width:260px}.blockpy-minified .blockpy-minified-toolbar .btn{margin:2px 0}.blockpy-minified .blockpy-minified-printer{height:90px;resize:none;padding-bottom:0}.blockpy-minified .blockpy-minified-feedback{flex:1;margin-top:4px;padding:2px 6px;border-top:1px solid var(--blockpy-border-warm);overflow-y:auto}:root[data-theme=dark]{color-scheme:dark;--blockpy-bg-parchment: #26221a;--blockpy-border-warm: #4a4234;--blockpy-status-syntax: #b22222;--blockpy-status-internal: #6c6c6c;--blockpy-status-offline: #999;--blockpy-positive-green: #4cbb4c;--blockpy-alert-red: #ff6b6b;--blockpy-tab-bg: #3a3a3a;--blockpy-tab-border: #444;--blockpy-tab-active-bg: #1e1e1e;--blockpy-tab-uneditable: #7ea6ff;--blockpy-line-active-bg: #1e4620;--blockpy-line-active-text: #ffb3ab;--blockpy-line-error-bg: #5a1f1f;--blockpy-line-uncovered-bg: #4a4a1f;--blockpy-editor-readonly-bg: #2a2a2a;--blockpy-gutter-border: #555;--blockpy-line-rule: rgba(255, 255, 255, .12);--blockpy-neutral-900: #f2f2f2;--blockpy-neutral-800: #dddddd;--blockpy-neutral-700: #cccccc;--blockpy-neutral-600: #aaaaaa;--blockpy-neutral-500: #8c8c8c;--blockpy-neutral-450: #5a5a5a;--blockpy-neutral-400: #666666;--blockpy-neutral-350: #555555;--blockpy-neutral-300: #4a4a4a;--blockpy-neutral-250: #454545;--blockpy-neutral-200: #404040;--blockpy-neutral-150: #333333;--blockpy-neutral-125: #323232;--blockpy-neutral-100: #2d2d2d;--blockpy-neutral-75: #2a2a2a;--blockpy-neutral-0: #1e1e1e}:root[data-theme=dark] body{background-color:#191919;color:#e8e6e3}:root[data-theme=dark] .blockpy-overlay{background-color:#000}:root[data-theme=dark] .blockpy-loading-overlay{background-color:#000000a6}:root[data-theme=dark] .blockpy-loading-overlay-card{background-color:#2a2a2a;color:#e8e6e3;border-color:#555}:root[data-theme=dark] a{color:#6fb3ff}:root[data-theme=dark] .form-control,:root[data-theme=dark] .form-select,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] input[type=text],:root[data-theme=dark] input[type=number],:root[data-theme=dark] input[type=password]{background-color:#2a2a2a;color:#e8e6e3;border-color:#555}:root[data-theme=dark] .modal-content{background-color:#262626;color:#e8e6e3}:root[data-theme=dark] .green-check-mark{text-shadow:-1px 0 #1e1e1e,0 1px #1e1e1e,1px 0 #1e1e1e,0 -1px #1e1e1e}:root[data-theme=dark] .cm-editor{background-color:#1e1e1e;color:#d4d4d4}:root[data-theme=dark] .cm-editor .cm-cursor{border-left-color:#d4d4d4}:root[data-theme=dark] .cm-editor .cm-selectionBackground,:root[data-theme=dark] .cm-editor.cm-focused .cm-selectionBackground{background-color:#264f78}:root[data-theme=dark] .cm-editor .cm-activeLine{background-color:#ffffff0a}:root[data-theme=dark] .cm-editor .cm-tooltip{background-color:#2d2d2d;color:#e8e6e3;border-color:#555}:root[data-theme=win2000]{--blockpy-bg-parchment: #c0c0c0;--blockpy-border-warm: #808080;--blockpy-tab-bg: #b0b0b0;--blockpy-tab-border: #808080;--blockpy-neutral-100: #c0c0c0;--blockpy-neutral-75: #c0c0c0}:root[data-theme=win2000] body{background-color:silver}:root[data-theme=win2000] .blockpy-content,:root[data-theme=win2000] .modal-content{font-family:Tahoma,"MS Sans Serif",Segoe UI,sans-serif}:root[data-theme=win2000] .blockpy-content .btn,:root[data-theme=win2000] .modal-content .btn{border-radius:0;box-shadow:inset -1px -1px #000,inset 1px 1px #fff,inset -2px -2px gray,inset 2px 2px #dfdfdf}:root[data-theme=win2000] .blockpy-content .btn:active,:root[data-theme=win2000] .modal-content .btn:active{box-shadow:inset 1px 1px #000,inset -1px -1px #fff,inset 2px 2px gray,inset -2px -2px #dfdfdf}:root[data-theme=win2000] .blockpy-content .btn-outline-secondary,:root[data-theme=win2000] .modal-content .btn-outline-secondary{background-color:silver;color:#000;border-color:silver}:root[data-theme=win2000] .blockpy-content .form-control,:root[data-theme=win2000] .modal-content .form-control,:root[data-theme=win2000] .blockpy-content select,:root[data-theme=win2000] .blockpy-content textarea{border-radius:0;box-shadow:inset 1px 1px gray,inset -1px -1px #fff}:root[data-theme=win2000] .blockpy-content .badge,:root[data-theme=win2000] .blockpy-content .card,:root[data-theme=win2000] .blockpy-content .nav-tabs .nav-link,:root[data-theme=win2000] .modal-content{border-radius:0}:root[data-theme=win2000] .modal-header{background:linear-gradient(90deg,navy,#1084d0);color:#fff;border-radius:0}.assignment-selector-div *,.assignment-selector-div *:before,.assignment-selector-div *:after{box-sizing:border-box}.assignment-selector-div .row{border:1px solid #faebcc;border-bottom:0;background-color:#fcf8e3;margin-right:0}.assignment-selector{overflow-y:auto}.correct-submission{background-color:#ded}.incorrect-submission{background-color:#edd}.secret-submission{background-color:#dde}.assignment-selector-btn:not(.btn-success){background-color:#fff;color:#000}.assignment-selector-btn:disabled:not(.btn-success){background-color:#e0e0e0;color:#000}:root[data-theme=dark] .assignment-selector-div .row{border-color:#4a4234;background-color:#26221a}:root[data-theme=dark] .assignment-selector-btn:not(.btn-success){background-color:#2d2d2d;color:#e8e6e3;border-color:#555}:root[data-theme=dark] .assignment-selector-btn:disabled:not(.btn-success){background-color:#232323;color:#8c8c8c}:root[data-theme=dark] .assignment-selector{background-color:#2d2d2d;color:#e8e6e3;border-color:#555}:root[data-theme=dark] .correct-submission{background-color:#1e4620}:root[data-theme=dark] .incorrect-submission{background-color:#5a1f1f}:root[data-theme=dark] .secret-submission{background-color:#24304d}.blockpy-reader h4{padding-top:10px;padding-bottom:10px}.blockpy-reader blockquote{padding-right:20px;font-style:italic}.blockpy-reader img{display:block;margin-left:auto;margin-right:auto;max-height:256px}.blockpy-reader .reader-run-button{float:right}.quizzer-question-card,.quizzer-question-card *,.quizzer-question-card *:before,.quizzer-question-card *:after{box-sizing:border-box}.quizzer-question-card .quizzer-inline-blank{display:inline-block;width:auto;min-width:8ch;height:auto;padding:.125rem .375rem;font-size:inherit;line-height:1.25;vertical-align:baseline}.quizzer-inline-select{display:inline-block;width:auto;max-width:100%;padding:.125rem .25rem;font-size:inherit;vertical-align:baseline}.quizzer-question-card textarea{max-width:100%}.quizzer-question-card{font-size:var(--quizzer-font-size, 1rem)}.quizzer-font-controls{float:right;display:flex;align-items:center;gap:2px;margin:4px}.book-item{cursor:pointer;padding:5px}.book-item.disabled{cursor:default}.book-item .book-item-chevron{display:inline-block;width:1em;cursor:pointer;-webkit-user-select:none;user-select:none}.book-item.disabled .book-item-chevron{cursor:pointer}.book-item .book-item-missing-hint{font-style:italic;opacity:.8}@media(max-width:768px){.textbook-navigation{height:300px;overflow:auto}}.list-group-item.disabled.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.blockpy-textbook .list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.blockpy-textbook .list-group-item{position:relative;display:block;background-color:#fff;border:1px solid rgba(0,0,0,.125);margin-bottom:-1px}.blockpy-textbook .list-group-item-action{width:100%;color:#495057;text-align:inherit}.blockpy-textbook .list-group-item-action:hover{color:#495057;background-color:#f8f9fa}.blockpy-textbook .list-group-item-info{color:#0c5460;background-color:#bee5eb}.blockpy-textbook .list-group-item.active{z-index:2;color:#fff;background-color:#0a58ca;border-color:#0a58ca}.blockpy-textbook .row{display:flex;flex-wrap:wrap}.blockpy-textbook .col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.blockpy-textbook .col-md-8{flex:0 0 66.666667%;max-width:66.666667%}@media(min-width:992px){.blockpy-textbook .col-lg-3{flex:0 0 25%;max-width:25%}.blockpy-textbook .col-lg-9{flex:0 0 75%;max-width:75%}}@media(max-width:768px){.blockpy-textbook .col-md-4,.blockpy-textbook .col-md-8{flex:0 0 100%;max-width:100%}}
