:root{--bg:#111418;--panel:#171b20;--panel-2:#1d2228;--line:#30363d;--line-strong:#454d57;--text:#e6edf3;--muted:#8b949e;--stack:#7ee2a8;--heap:#e3b341;--ptr:#58a6ff;--err:#f85149;--ok:#3fb950;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ui:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--ui);font-size:14px}button,input,select,textarea{font:inherit}button{color:inherit}:focus-visible{outline:2px solid var(--ptr);outline-offset:1px}.app{flex-direction:column;height:100%;display:flex}.page-host{flex-direction:column;flex:1;min-height:0;display:flex}.page-host[hidden]{display:none}.loading-screen{color:var(--muted);padding:24px}.topbar{border-bottom:1px solid var(--line);background:#13171b;align-items:center;gap:28px;height:40px;padding:0 18px;display:flex}.brand{font-size:16px;font-weight:650}.tabs{align-self:stretch;display:flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 14px}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--text)}.workbench{grid-template-columns:minmax(220px, var(--code-fr,38fr)) 6px minmax(360px, var(--memory-fr,62fr));flex:1;min-height:0;display:grid}.workbench.code-collapsed{grid-template-columns:28px 6px minmax(0,1fr)}.workbench-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.workbench-pane[hidden]{display:none}.workbench-pane>.panel{flex:1}.workbench-divider{background:var(--line);cursor:col-resize;touch-action:none}.workbench-divider:hover,.workbench-divider:focus-visible{background:var(--ptr);outline:none}.code-rail{background:var(--panel);color:var(--muted);writing-mode:vertical-rl;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:0;padding:10px 0;font-size:12px;font-weight:600}.code-rail:hover:not(:disabled){color:var(--text);border:0}.panel{background:var(--panel);flex-direction:column;min-width:0;min-height:0;display:flex}.panel-head{border-bottom:1px solid var(--line);min-height:34px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:12px;padding:4px 8px 4px 12px;font-size:12px;font-weight:600;display:flex}.panel-context{text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0;min-width:0;margin-left:auto;font-weight:400;overflow:hidden}.panel-actions{flex-shrink:0;gap:6px;margin-left:auto;display:flex}.panel-context+.panel-actions{margin-left:0}.head-btn{text-transform:none;letter-spacing:0;white-space:nowrap;padding:4px 10px;font-size:12px;font-weight:500}.pane-message{border-top:1px solid var(--line);font:12px/1.5 var(--mono);white-space:pre-wrap;background:#13171b;max-height:110px;padding:6px 12px;overflow-y:auto}.program-output{border-top:1px solid var(--line);background:#0d1013}.program-output-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 12px 0;font-size:11px}.program-output pre{min-height:2.5em;max-height:min(140px,20vh);color:var(--text);font:12px/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:4px 12px 8px;overflow-y:auto}.pane-message:empty{display:none}.pane-message.err{color:#ff7b72}.pane-message.ok{color:#7ee787}.plain-btn,.step-btn,.primary-btn,.ghost-btn,.mini-btn,.back-btn,.hint-btn,.check-btn{border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:4px;padding:7px 10px}button:hover:not(:disabled){background:#242a31;border-color:#6e7681}button:disabled{opacity:.45;cursor:default}.primary-btn,.check-btn{background:#238636;border-color:#2ea043}.danger,.mini-btn.danger{color:#ff7b72}.code-wrap{background:#14181d;flex:1;min-height:0;display:flex;overflow:auto}.gutter{color:#59636e;font:13px/1.6 var(--mono);white-space:pre;text-align:right;-webkit-user-select:none;user-select:none;background:#14181d;border-right:1px solid #252b32;flex:none;padding:12px 8px 12px 12px}.code-body{flex:1;align-self:flex-start;min-width:max-content;min-height:100%;position:relative}.code-highlight{font:13px/1.6 var(--mono);tab-size:4;pointer-events:none;min-height:100%;margin:0;padding:12px 14px}.code-input{resize:none;color:#0000;-webkit-text-fill-color:transparent;width:100%;height:100%;caret-color:var(--text);font:13px/1.6 var(--mono);tab-size:4;white-space:pre;background:0 0;border:0;outline:0;padding:12px 14px;position:absolute;inset:0;overflow:hidden}.code-input::selection{background:#3573b566}.syntax-keyword{color:#c586c0}.syntax-type{color:#4ec9b0}.syntax-number{color:#b5cea8}.syntax-string{color:#ce9178}.syntax-comment{color:#6a9955}.syntax-preprocessor{color:#9cdcfe}.syntax-function{color:#dcdcaa}.code-line{min-height:20.8px}.next-line{background:#e3b34122;box-shadow:-3px 0 #e3b341}.gutter.with-breakpoints{flex-direction:column;padding-left:22px;display:flex}.gutter-line,.gutter-line:hover:not(:disabled){color:inherit;font:inherit;text-align:right;background:0 0;border:0;border-radius:0;padding:0;position:relative}.gutter-line:hover:not(:disabled){color:var(--text)}.gutter-line:before{content:"";border-radius:50%;width:9px;height:9px;margin-top:-4.5px;position:absolute;top:50%;left:-15px}.gutter-line:hover:before{background:#f8514966}.gutter-line.breakpoint:before{background:var(--err)}.next-line-number{color:#e3b341;font-weight:700}.next-line.error-line{box-shadow:-3px 0 var(--err);background:#f8514922}.next-line-number.error-line,.panel-context.error-context{color:var(--err)}.memory-changed{outline-offset:1px;outline:2px solid #e3b341}.value-changed{background:#e3b34122}.value-changed .val{color:#f2cc60}.canvas-wrap:focus{outline:none}.canvas-wrap{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;container:memory/inline-size}.canvas-overlay{z-index:5;pointer-events:none;flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:10px;left:10px}.canvas-overlay button{pointer-events:auto;padding:5px 10px;font-size:12px;box-shadow:0 2px 8px #0006}.canvas-chip{color:var(--muted)}.view-menu{pointer-events:auto;position:relative}.view-menu-list{z-index:15;background:var(--panel);border:1px solid var(--line-strong);border-radius:4px;gap:2px;min-width:100%;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 16px #0008}.canvas-overlay .view-menu-list button{white-space:nowrap;box-shadow:none;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;gap:6px;padding:6px 8px;display:flex}.view-menu-list button:hover,.view-menu-list button[aria-checked=true]{background:var(--panel-2)}.view-menu-check{width:12px;color:var(--ptr)}.view-menu-heading{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding:6px 8px 2px;font-size:11px}.view-menu-heading:not(:first-child){border-top:1px solid var(--line);margin-top:4px;padding-top:8px}.view-menu-example{color:var(--muted);font-family:var(--mono);margin-left:auto;padding-left:12px}.canvas-chip[aria-pressed=true]{color:var(--text);border-color:var(--ptr)}.canvas-toast{z-index:12;border:1px solid var(--line-strong);background:var(--panel-2);color:#a8b2bf;overflow-wrap:anywhere;pointer-events:none;border-radius:4px;max-width:min(480px,60%);padding:6px 12px;font-size:12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0008}.canvas-toast:not(.visible){display:none}.canvas-toast.err{color:#ff9b92;border-color:#f8514988}.frame-group{border:1px solid var(--line);border-top:2px solid var(--stack);background:#161b22;border-radius:6px}.frame-group-label strong{color:var(--stack)}.frame-group.returned{border-top-color:var(--line-strong)}.frame-group.returned .frame-group-label strong{color:var(--muted)}.frame-group.returned{background:#14181c;border-style:dashed}.frame-group-label{height:34px;color:var(--text);cursor:grab;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:0 10px;font-size:12px;display:flex}.frame-group-label:active{cursor:grabbing}.frame-group-label strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.frame-group-label span{color:var(--muted);font-size:11px;font-weight:400}.frame-group.returned .frame-group-label{color:var(--muted)}.mem-cell{background:var(--panel-2);border:1px solid var(--line);width:100%;height:100%;font-family:var(--mono);border-radius:6px}.mem-cell.static{box-shadow:inset 3px 0 var(--muted)}.mem-cell.heap{box-shadow:inset 3px 0 var(--heap)}.mem-cell.dead{opacity:.72}.mem-cell.selected{outline:2px solid var(--ptr)}.mem-cell.bad{outline:2px solid var(--err)}.mem-cell .head{height:var(--memory-header);padding:6px 10px 0;position:relative}.head-line{align-items:baseline;gap:8px;display:flex}.mem-meta{color:var(--muted);white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.mem-meta code{font:inherit}.mem-meta code.targeted,.targeted .sub-address{color:var(--ptr)}.mem-meta code.targeted:after,.targeted .sub-address:after{content:" ◂"}.mem-cell .name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.mem-cell .type{text-overflow:ellipsis;max-width:65%;color:var(--muted);white-space:nowrap;margin-left:auto;font-size:11px;overflow:hidden}.lifetime-banner{height:var(--memory-lifetime);color:var(--err);font:11px var(--ui);padding:4px 10px}.subobject-row{position:relative}.sub-label{text-overflow:ellipsis;white-space:nowrap;min-width:28px;max-width:40%;color:var(--muted);flex:none;font-size:11px;overflow:hidden}.sub-address{min-width:0;color:var(--muted);font-size:11px;overflow:hidden}.val{border:1px solid var(--line);min-width:9ch;color:var(--text);text-align:right;white-space:nowrap;background:#161b22;border-radius:4px;flex:none;margin-left:auto;padding:3px 8px;font-size:12px;line-height:16px}.val.ptr{color:var(--ptr);border-color:#58a6ff66}.val.dangling{color:var(--err);border-color:#f8514966}.val.uninit{color:var(--muted);border-style:dashed}.val.null{color:var(--muted)}.val.dot{text-align:center}.no-addresses .targeted .val{border-color:var(--ptr)}.mem-handle{border:1px solid var(--bg)!important;width:9px!important;height:9px!important}.mem-handle.src{background:var(--ptr)!important}.mem-handle.tgt{border-radius:2px;background:var(--panel-2)!important;border:2px solid var(--ptr)!important}.mem-handle.hidden-handle{opacity:0;pointer-events:none!important}.mem-handle.available-target{width:12px!important;height:12px!important}.mem-handle.available-target:hover,.mem-handle.available-target.valid{background:var(--ptr)!important}.subobject-row .mem-handle{top:calc(var(--memory-row) / 2)}.dangling-edge path{stroke-dasharray:9 6;stroke:var(--err)!important}.react-flow__edge.cursor-edge,.react-flow__edge.cursor-edge *{pointer-events:none!important}.structure-node{background:var(--panel-2);border:1px solid var(--heap);width:100%;height:100%;font-family:var(--mono);border-radius:7px;flex-direction:column;display:flex;position:relative}.structure-node.dead{border-style:dashed;border-color:var(--err);opacity:.72}.structure-node.selected{outline:2px solid var(--ptr)}.structure-node.bad{outline:2px solid var(--err)}.structure-label{width:100%;padding:var(--structure-pad) 10px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:0;display:flex}.structure-label.single{align-items:center}.structure-field,.structure-more,.structure-name{height:var(--structure-line);line-height:var(--structure-line);white-space:nowrap;align-items:baseline;gap:6px;min-width:0;max-width:100%;font-size:12px;display:flex;position:relative}.structure-label.single .structure-field{font-size:16px;font-weight:600}.structure-field-name,.structure-more,.structure-name{color:var(--muted)}.structure-field-value{text-overflow:ellipsis;min-width:0;overflow:hidden}.structure-field:not(:only-child) .structure-field-value{margin-left:auto}.structure-field-value.pointer{color:var(--ptr)}.structure-field.value-changed{border-radius:3px}.structure-freed{background:var(--err);color:var(--bg);font:600 10px/16px var(--ui);border-radius:3px;padding:0 5px;position:absolute;top:-9px;right:8px}.structure-slots{border-top:1px solid var(--line);display:flex}.structure-slot{flex:1 1 0;justify-content:center;align-items:center;gap:5px;min-width:0;font-size:11px;display:flex;position:relative}.structure-slot+.structure-slot{border-left:1px solid var(--line)}.structure-slot-name{text-overflow:ellipsis;min-width:0;color:var(--muted);white-space:nowrap;overflow:hidden}.structure-slot-value.ptr{color:var(--ptr)}.structure-slot-value.dangling{color:var(--err)}.structure-slot-value.null,.structure-slot-value.uninit{color:var(--muted)}.structure-node .mem-handle{top:50%}.structure-node.unreachable{border-color:var(--err);background:#f8514914}.structure-unreachable{color:var(--err);font:600 10px/16px var(--ui);white-space:nowrap;position:absolute;top:-18px;left:0}.structure-band{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:3px;padding:2px 4px 0;display:flex;overflow:hidden}.structure-cursor{border:1px solid var(--ptr);color:var(--ptr);font:600 10px/13px var(--mono);white-space:nowrap;background:#13253f;border-radius:7px;align-items:baseline;gap:3px;padding:0 5px;display:inline-flex}.structure-body{flex-direction:column;display:flex}.structure-body.side{flex-direction:row}.structure-body.side .structure-slots{border-top:0;border-left:1px solid var(--line)}.structure-body.side .structure-slot{flex-direction:column;gap:0}.structure-body.side .structure-slot+.structure-slot{border-left:1px solid var(--line)}.structure-body.side .structure-slot-name{font-size:9px;line-height:11px}.structure-cursor-tag{color:var(--muted);font-weight:400}.structure-cursor.running{background:var(--ptr);color:var(--bg)}.structure-cursor.running .structure-cursor-tag{color:#0b1220b3}.structure-cursor.dangling{border-color:var(--err);color:var(--err);background:#3a1517}.structure-cursor.changed{box-shadow:0 0 0 2px #e3b341}.structure-cursor.linked{box-shadow:inset 0 0 0 2px var(--text)}.stack-local.linked{box-shadow:0 0 0 2px var(--text)}.frame-group.compact.running{border-color:var(--ptr)}.frame-group.compact .frame-group-label{cursor:default}.stack-local{border:1px solid var(--line);background:var(--panel-2);width:100%;height:100%;font:12px var(--mono);border-radius:5px;align-items:center;gap:8px;padding:0 8px;display:flex;position:relative}.stack-local.selected{outline:2px solid var(--ptr)}.stack-local.dead{opacity:.72}.stack-local-name{max-width:45%;color:var(--text);font:600 12px var(--mono);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;padding:0;overflow:hidden}.stack-local-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:auto;overflow:hidden}.stack-local-value.ptr{color:var(--ptr)}.stack-local-value.dangling{color:var(--err)}.stack-local-value.null{color:var(--muted)}.stack-local .mem-handle{top:50%}.frame-fold{border:1px dashed var(--line-strong);border-left:2px solid var(--stack);background:#161b22;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;height:100%;padding:0 6px 0 10px;font-size:12px;display:flex}.frame-fold strong{color:var(--stack)}.frame-fold .plain-btn{padding:2px 8px;font-size:11px}.inspector{z-index:8;border:1px solid var(--line-strong);background:#161b22;border-radius:6px;width:300px;max-width:calc(100% - 20px);max-height:calc(100% - 20px);padding:10px 12px;position:absolute;top:10px;right:10px;overflow:hidden auto;box-shadow:0 8px 24px #000a}.inspector h4{font:600 14px var(--mono);overflow-wrap:anywhere;margin:0}.name-box{vertical-align:baseline;border:1px solid var(--line-strong);background:var(--panel-2);max-width:100%;color:var(--muted);cursor:text;border-radius:4px;align-items:center;gap:4px;margin-left:1px;padding:2px 6px;display:inline-flex}.inspector h4.renamable{margin-bottom:6px}.name-box:hover{border-color:var(--muted);color:var(--text)}.name-box:focus-within{border-color:var(--ptr);color:var(--text);box-shadow:0 0 0 2px #58a6ff33}.inspector input.name-edit{min-width:0;max-width:100%;height:auto;font:inherit;background:0 0;border:0;padding:0}.inspector input.name-edit:focus-visible{outline:none}.name-box svg{flex:none}.inspector-type{color:var(--muted);font-weight:400}.inspector{--label-col:52px;--label-gap:10px;--control-h:30px}.inspector input,.inspector select{height:var(--control-h);border:1px solid var(--line);background:var(--panel-2);min-width:0;color:var(--text);font-family:var(--mono);border-radius:4px;padding:0 8px;font-size:12px}.inspector :focus-visible{outline-offset:-2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stepper{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:6px 10px;display:flex}.call-stack{min-width:0;font:12px var(--mono);align-items:baseline;gap:8px;display:flex}.call-stack-label{color:var(--muted);font-family:var(--ui);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:11px}.call-stack ol{flex-wrap:wrap;min-width:0;margin:0;padding:0;list-style:none;display:flex}.call-stack li+li:before{content:"▸";color:var(--muted);margin:0 6px}.call-stack strong{color:#e3b341}.call-stack-frame,.call-stack-frame:hover:not(:disabled){color:var(--ptr);font:inherit;background:0 0;border:0;padding:0}.call-stack-frame:hover:not(:disabled){text-decoration:underline}.step-controls{flex-wrap:wrap;gap:6px;display:flex}.step-controls .step-btn{padding:5px 10px}.step-scrub{align-items:center;gap:10px;display:flex}.stepper input[type=range]{accent-color:#8b949e;flex:1}.step-count{color:var(--muted);font:12px var(--mono)}.msgbar-inline{font:12px/1.5 var(--mono);margin:0}.msgbar-inline.err{color:#ff7b72}.page{flex:1;padding:24px;overflow:auto}.page h2{margin:0 0 16px;font-size:20px}.page .lede{color:var(--muted);margin:-8px 0 18px}.challenge-list{max-width:1300px}.level-section+.level-section{margin-top:32px}.level-section-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.level-section-head h3{margin:0;font-size:16px;font-weight:600}.section-bar{background:var(--line);border-radius:2px;width:56px;height:4px;overflow:hidden}.section-bar>span{background:var(--ptr);height:100%;display:block}.section-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.level-section.done .section-bar>span{background:var(--ok)}.level-section.done .section-count{color:var(--ok)}.level-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.level-card{text-align:left;min-height:104px;color:var(--text);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:4px;flex-direction:column;justify-content:flex-start;gap:6px;padding:14px;display:flex}.level-card:hover{border-color:#6e7681}.level-card.solved{border-color:#3fb95073}.level-card-meta{align-items:center;gap:8px;min-height:20px;display:flex}.level-number{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.level-kind{border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:11px}.level-done{color:var(--ok);margin-left:auto;font-size:14px;line-height:1}.level-card h3{margin:0;font-size:15px}.level-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.challenge-head{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:12px;min-height:62px;padding:8px 12px;display:flex}.challenge-title{flex:1;min-width:0}.challenge-head .prompt{color:var(--muted);margin-top:2px;font-size:12px}.hint-list{border-top:1px solid var(--line);background:var(--panel);margin:0;padding:8px 14px;font-size:13px;line-height:1.5;list-style:none}.hint-list li+li{margin-top:4px}.hint-label{color:var(--heap);margin-right:8px;font-size:11px;font-weight:600}.verdict{border-top:1px solid var(--line);padding:10px 14px;font-size:13px}.verdict.pass{background:#3fb9501a}.verdict.fail{background:#f851491a}.verdict-head{align-items:center;gap:10px;min-height:30px;display:flex}.verdict.pass .verdict-head strong{color:#7ee787}.verdict.fail .verdict-head strong{color:#ff7b72}.verdict-tag{border:1px solid var(--line-strong);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:11px}.verdict-meta,.verdict-action{margin-left:auto}.verdict-meta{color:var(--muted);font-size:12px}.verdict ul{color:var(--text);margin:6px 0 0 20px;padding:0}.level-editor{grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:32px;display:grid}.editor-form{align-content:start;gap:10px;max-width:820px;display:grid}.editor-code{border:1px solid var(--line);height:260px;display:flex}.editor-actions{flex-wrap:wrap;gap:8px;display:flex}.file-btn{cursor:pointer;display:inline-block}.editor-preview{flex-direction:column;min-height:420px;display:flex}.editor-preview .panel-head{border:1px solid var(--line);border-radius:4px 4px 0 0}.editor-preview-body{border:1px solid var(--line);border-top:none;border-radius:0 0 4px 4px;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.editor-form label{color:var(--muted);font-size:12px}.editor-form>input,.editor-form>textarea,.editor-form>select{border:1px solid var(--line);background:var(--panel-2);width:100%;color:var(--text);border-radius:3px;padding:7px 8px}.editor-form>textarea{min-height:110px;font-family:var(--mono)}.grading-options{gap:16px;display:flex}.saved-list{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.saved-list h4{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:12px}.saved-row{border-bottom:1px solid #252b32;align-items:center;gap:10px;padding:7px 0;display:flex}.saved-row.editing .saved-title{color:var(--heap)}.mini-btn:disabled{opacity:.5;cursor:default}.saved-title{overflow-wrap:anywhere;flex:1;min-width:0}.saved-kind{color:var(--muted);font-size:11px}@media (width<=900px){.workbench,.workbench.code-collapsed{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(160px, var(--code-fr,38fr)) 6px minmax(360px, var(--memory-fr,62fr))}.workbench{overflow:auto}.workbench-divider{cursor:row-resize}.level-editor{grid-template-columns:1fr}.topbar{gap:12px}}.frame-group.selected,.frame-group.frame-owner-active{border-color:var(--ptr)}.frame-actions{white-space:nowrap;gap:4px;display:flex;position:absolute;top:-32px;right:0}.frame-actions button{background:var(--panel);border:1px solid var(--line-strong);color:var(--text);cursor:pointer;font:11px var(--ui);border-radius:4px;padding:5px 8px}.frame-resize{z-index:5;touch-action:none;position:absolute}.frame-resize:focus-visible{outline:2px solid #fff}.frame-resize-n,.frame-resize-s{cursor:ns-resize;height:8px;left:12px;right:12px}.frame-resize-n{top:-4px}.frame-resize-s{bottom:-4px}.frame-resize-e,.frame-resize-w{cursor:ew-resize;width:8px;top:12px;bottom:12px}.frame-resize-e{right:-4px}.frame-resize-w{left:-4px}.frame-resize-nw,.frame-resize-ne,.frame-resize-sw,.frame-resize-se{background:var(--ptr);border:2px solid var(--panel);border-radius:2px;width:11px;height:11px}.frame-resize-nw{cursor:nwse-resize;top:-6px;left:-6px}.frame-resize-ne{cursor:nesw-resize;top:-6px;right:-6px}.frame-resize-sw{cursor:nesw-resize;bottom:-6px;left:-6px}.frame-resize-se{cursor:nwse-resize;bottom:-6px;right:-6px}.edge-bend{fill:var(--panel);stroke:var(--ptr);stroke-width:2px;cursor:move;pointer-events:all;touch-action:none}.edge-bend:focus-visible{fill:var(--ptr);outline:none}.edge-tools{z-index:10;pointer-events:none;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:absolute;bottom:52px;left:12px;right:12px}.edge-tools span{background:var(--panel);color:var(--muted);border-radius:4px;padding:5px;font-size:11px}.edge-tools button{pointer-events:auto}.canvas-context-menu{z-index:15;background:var(--panel);border:1px solid var(--line-strong);border-radius:4px;flex-direction:column;gap:4px;min-width:160px;padding:4px;display:flex;position:absolute;box-shadow:0 4px 16px #0008}.canvas-context-menu button{text-align:left}.snapshot-actions{gap:6px;margin-left:auto;display:flex}.canvas-content{flex:1;min-width:0;min-height:0;display:flex;position:relative}.canvas-content>.react-flow{flex:1;min-width:0;height:auto}.mem-meta code,.sub-address{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.memory-value-line{height:var(--memory-row);align-items:center;gap:10px;padding:0 10px;display:flex}.inspect-label{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.inspect-label:hover:not(:disabled){color:var(--ptr);background:0 0;text-decoration:underline}.pointer-caption{height:var(--memory-pointerStatus);color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;padding:0 10px;font-size:11px;overflow:hidden}.warning{color:#ff9b92}.inspected-row{box-shadow:inset 0 0 0 1px var(--ptr);background:#58a6ff12}.inspector-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.inspector-context,.inspector-hint,.inspector-notice{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.5}.inspector-context{flex-wrap:wrap;align-items:center;column-gap:6px;margin-top:2px;display:flex}.context-dot{margin-right:6px}.inspector-notice:empty{display:none}.inspector-notice{color:#a8b2bf;margin-top:8px}.icon-btn{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;padding:0}.icon-btn:hover{background:var(--panel-2);color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:default;background:0 0}.member-picker{grid-template-columns:var(--label-col) minmax(0, 1fr);align-items:center;column-gap:var(--label-gap);margin-top:12px;display:grid}.member-picker-label{color:var(--muted);font-size:11px}.member-picker-controls{grid-template-columns:minmax(0, 1fr) var(--control-h) var(--control-h);gap:4px;display:grid}.nav-btn{height:var(--control-h);border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:4px;padding:0;font-size:14px}.nav-btn:hover:not(:disabled){border-color:var(--line-strong)}.nav-btn:disabled{color:var(--muted);opacity:.45;cursor:default}.inspector-section{color:#b1bac4;letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:6px;margin:14px 0 8px;font-size:10.5px;font-weight:600;display:flex}.inspector-edit{border-top:1px solid var(--line);background:var(--bg);margin:14px -12px -10px;padding:12px 12px 10px}.inspector-edit .inspector-section{margin-top:0}.inspector-edit .inspector-footer{border-top:0;padding-top:0}.inspector-edit .inspector-footer:first-child{margin-top:0}.facts{grid-template-columns:var(--label-col) minmax(0, 1fr);grid-auto-rows:minmax(var(--control-h), auto);align-items:center;gap:4px var(--label-gap);background:var(--panel-2);border-radius:6px;margin:0 -8px;padding:4px 8px;font-size:12px;display:grid}.fact{display:contents}.fact dt{color:var(--muted);font-family:var(--mono);font-size:11px;line-height:var(--control-h);text-overflow:ellipsis;white-space:nowrap;align-self:start;overflow:hidden}.fact dd{justify-content:space-between;align-self:start;align-items:flex-start;gap:6px;min-width:0;margin:0;padding-top:2px;display:flex}.fact dd .muted-note{line-height:26px}.fact code{font:12px var(--mono);white-space:nowrap;-webkit-user-select:text;user-select:text}.fact dd>code:only-child{white-space:normal;overflow-wrap:anywhere}.slot{box-sizing:border-box;border:1px solid var(--line);max-width:100%;min-height:26px;color:var(--text);line-height:18px;font:12px var(--mono);overflow-wrap:anywhere;background:#161b22;border-radius:5px;padding:3px 10px;display:inline-block}.slot.ptr{color:var(--ptr);border-color:#58a6ff66}.slot.dangling{color:var(--err);border-color:#f8514966}.slot.uninit{color:var(--muted);border-style:dashed}.slot.null{color:var(--muted)}.slot-stack{justify-items:start;gap:3px;min-width:0;display:grid}.target-line{max-width:100%;color:var(--muted);font:11px var(--mono);text-overflow:ellipsis;white-space:nowrap;padding-left:4px;overflow:hidden}.target-arrow{margin-right:4px}.target-link{color:var(--ptr);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.target-line.warning .target-link,.target-line.warning{color:#ff9b92}.target-link:hover,.target-link:focus-visible{text-decoration:underline}.muted-note{color:var(--muted);font-size:11px}.fact dd .icon-btn{align-self:flex-start}.info-dot{vertical-align:-2px;color:var(--muted);cursor:help;border-radius:50%;margin-left:4px;display:inline-flex;position:relative}.inspector-section .info-dot{letter-spacing:0;text-transform:none;margin-left:0}.info-dot:hover,.info-dot:focus-visible{color:var(--text);outline:none}.info-dot:focus-visible{box-shadow:0 0 0 2px var(--ptr)}.info-dot:after{content:attr(data-tip);z-index:10;border:1px solid var(--line-strong);background:var(--panel-2);width:max-content;max-width:220px;color:var(--text);font:400 11px/1.45 var(--ui);white-space:normal;opacity:0;visibility:hidden;pointer-events:none;border-radius:6px;padding:6px 8px;transition:opacity .12s;position:absolute;top:calc(100% + 6px);left:-6px;box-shadow:0 4px 12px #0008}.info-dot:hover:after,.info-dot:focus-visible:after{opacity:1;visibility:visible}.inspector-context code{font:inherit;font-family:var(--mono)}.icon-btn.inline{vertical-align:middle;width:20px;height:18px;font-size:11px}.edit-grid{grid-template-columns:var(--label-col) minmax(0, 1fr);align-items:center;gap:8px var(--label-gap);display:grid}.edit-grid .field{display:contents}.edit-grid .field>span:first-child{color:var(--muted);font-size:11px}.value-control{align-items:center;gap:6px;display:flex}.value-control code{flex:none}.inspector .field select,.inspector .field input{width:100%}.inspector .field code{color:var(--text);font:12px var(--mono)}.type-controls{grid-template-columns:minmax(0,1fr) 64px;gap:6px;display:grid}.shape-controls{align-items:center;gap:8px;display:flex}.segmented{box-sizing:border-box;height:var(--control-h);border:1px solid var(--line);border-radius:4px;display:inline-flex;overflow:hidden}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 11px;font-size:12px}.segmented button+button{border-left:1px solid var(--line)}.segmented button[aria-pressed=true]{color:var(--text);background:#58a6ff1f}.length-group{box-sizing:border-box;height:var(--control-h);border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font:12px var(--mono);border-radius:4px;align-items:center;gap:2px;padding:0 8px;display:inline-flex}@supports (text-box:trim-both cap alphabetic){.slot{text-box:trim-both cap alphabetic}.length-group>span{text-box:trim-both ex alphabetic}.slot{padding-block:calc(12px - .5cap)}}.length-group:focus-within{outline:2px solid var(--ptr);outline-offset:-2px}.inspector .length-group input{width:4ch;height:calc(var(--control-h) - 2px);text-align:center;-moz-appearance:textfield;background:0 0;border:0;padding:0}.inspector .length-group input:focus-visible{outline:none}.length-group input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.length-group input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.inspector-footer{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;padding-top:8px;display:flex}.text-btn{cursor:pointer;background:0 0;border:0;border-radius:4px;margin-left:auto;padding:6px 8px}.text-btn:hover{background:#f851491a}@container memory (width<=760px){.inspector{border-radius:6px 6px 0 0;width:auto;max-width:none;max-height:45%;inset:auto 0 0}}
