:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f4f1;--panel:#fff;--panel-2:#f8f8f6;--border:#e2e1dc;--border-strong:#cfcdc6;--text:#1d2024;--muted:#6a6e75;--faint:#9a9ea5;--accent:#2c63d6;--accent-soft:#e5edfc;--accent-text:#fff;--flash:#ffe89a;--current:#fff4c4;--error:#c6262e;--error-soft:#fdecec;--warn:#9a6200;--warn-soft:#fff5dd;--ok:#1d7f3a;--ok-soft:#e7f5ea;--t-int:#1f5fbf;--t-long:#6d3fc1;--t-float:#a2520b;--t-ref:#217a43;--t-null:#7a7f86;--t-slot:#b3b7bd;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000f;--radius:8px;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans KR", sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0e1013;--panel:#16191e;--panel-2:#1b1f25;--border:#282d35;--border-strong:#353b45;--text:#e4e6ea;--muted:#9aa1ab;--faint:#6c737d;--accent:#6d9eff;--accent-soft:#1d2b45;--accent-text:#0e1013;--flash:#5b4a11;--current:#3a3316;--error:#ff7b72;--error-soft:#3a1a1b;--warn:#e3b341;--warn-soft:#382c10;--ok:#56d364;--ok-soft:#14301b;--t-int:#79b8ff;--t-long:#c8a2ff;--t-float:#ffab70;--t-ref:#7ee787;--t-null:#8b949e;--t-slot:#4a515c;--shadow:0 1px 2px #0006, 0 8px 24px #00000059}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.45 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}code,.mono{font-family:var(--mono);font-size:12px}.app{grid-template-rows:auto auto minmax(0, 1fr) var(--bottom-height,30vh);gap:8px;height:100vh;padding:8px;display:grid}.main-grid{grid-template-columns:var(--left-width,280px) 6px minmax(0, 1fr) 6px var(--right-width,380px);min-height:0;display:grid}.bottom-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;min-height:0;display:grid}.resizer{cursor:col-resize;touch-action:none;border-radius:3px;margin:0 1px}.resizer:hover,.resizer:focus-visible,.resizer.dragging{background:var(--accent-soft);outline:none}.resizer.horizontal{cursor:row-resize;margin:1px 0}@media (width<=900px){.app{grid-template-rows:auto auto auto auto;height:auto;min-height:100vh}.main-grid,.bottom-grid{grid-template-columns:minmax(0,1fr);gap:8px}.main-grid>.panel,.bottom-grid>.panel{min-height:320px}.resizer{display:none}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);background:var(--panel-2);align-items:center;gap:8px;min-height:34px;padding:6px 10px;display:flex}.panel-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:650}.panel-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.panel-body{flex:1;min-height:0;overflow:auto}.section{border-bottom:1px solid var(--border)}.section:last-child{border-bottom:0}.section-title{z-index:1;color:var(--muted);background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:flex;position:sticky;top:0}.empty{color:var(--muted);padding:16px}.toolbar{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;display:flex}.brand{white-space:nowrap;margin-right:4px;font-weight:700}.brand span{color:var(--accent)}.toolbar .group{align-items:center;gap:4px;display:flex}.toolbar .divider{background:var(--border);align-self:stretch;width:1px;margin:2px}.btn{border:1px solid var(--border-strong);background:var(--panel);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;height:28px;padding:0 10px;display:inline-flex}.btn:hover:not(:disabled){background:var(--panel-2);border-color:var(--faint)}.btn:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn.small{height:22px;padding:0 7px;font-size:12px}.kbd{font-family:var(--mono);color:var(--faint);font-size:10px}.btn.primary .kbd{color:inherit;opacity:.7}select,.input{border:1px solid var(--border-strong);background:var(--panel);border-radius:6px;max-width:220px;height:28px;padding:0 8px}.speed{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.speed input{width:110px}.check{color:var(--muted);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.status-chip{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:2px 10px;font-size:12px;display:inline-flex}.status-chip .dot{background:var(--faint);border-radius:50%;width:8px;height:8px}.status-chip.running .dot{background:var(--ok);animation:1s ease-in-out infinite pulse}.status-chip.input .dot{background:var(--accent)}.status-chip.done .dot{background:var(--muted)}.status-chip.error .dot{background:var(--error)}@keyframes pulse{50%{opacity:.35}}.banner{border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:10px;padding:7px 12px;display:flex}.banner.info{background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 30%, transparent)}.banner.warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 30%, transparent)}.banner.error{background:var(--error-soft);border-color:color-mix(in srgb, var(--error) 35%, transparent)}.banner .close{margin-left:auto}.welcome{max-width:560px;color:var(--muted);padding:28px}.welcome h1{color:var(--text);margin:0 0 8px;font-size:20px}.welcome ol{padding-left:18px}.welcome-footer{margin-top:16px;font-size:12px}.drop-overlay{z-index:50;background:color-mix(in srgb, var(--accent) 12%, transparent);border:3px dashed var(--accent);color:var(--accent);pointer-events:none;place-items:center;font-size:18px;font-weight:600;display:grid;position:fixed;inset:0}.v-int{color:var(--t-int)}.v-long{color:var(--t-long)}.v-float,.v-double{color:var(--t-float)}.v-ref{color:var(--t-ref)}.v-null{color:var(--t-null);font-style:italic}.v-pad,.v-empty{color:var(--t-slot)}.ref-link{color:var(--t-ref);font:inherit;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--t-ref) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--t-ref) 40%, transparent);text-underline-offset:2px;background:0 0;border:0;padding:0}.ref-link:hover{text-decoration-color:currentColor}.flash{animation:.9s ease-out flash}@keyframes flash{0%{background:var(--flash)}to{background:0 0}}@media (prefers-reduced-motion:reduce){.flash{background:var(--flash);animation:none}.status-chip.running .dot{animation:none}}table.grid{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:12px}table.grid th{text-align:left;font-family:var(--sans);color:var(--muted);border-bottom:1px solid var(--border);background:var(--panel-2);padding:3px 8px;font-size:11px;font-weight:600;position:sticky;top:0}table.grid td{border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);vertical-align:top;white-space:nowrap;padding:2px 8px}table.grid tr:last-child td{border-bottom:0}.muted{color:var(--muted)}.faint{color:var(--faint)}.badge{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);font-size:10.5px;line-height:17px;font-family:var(--sans);white-space:nowrap;border-radius:999px;padding:0 6px;display:inline-block}.badge.accent{background:var(--accent-soft);color:var(--accent);border-color:#0000}.badge.error{background:var(--error-soft);color:var(--error);border-color:#0000}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.exec-grid{grid-template-columns:minmax(250px,.9fr) minmax(0,1.4fr);height:100%;min-height:0;display:grid}.exec-left,.exec-right{flex-direction:column;min-height:0;display:flex;overflow:auto}.exec-left{border-right:1px solid var(--border)}.code-pane{flex-direction:column;height:100%;min-height:0;display:flex;overflow:auto}.code-pane .grow{flex:50%;min-height:120px;overflow:auto}.explainer{padding:6px 12px 8px;font-size:12px}.explainer-title{overflow-wrap:anywhere;margin-bottom:4px;font-weight:600}.explainer-note{color:var(--muted);margin:0 0 4px}.explainer-grid{grid-template-columns:44px minmax(0,1fr);gap:2px 8px;margin:0;display:grid}.explainer-grid dt{color:var(--faint)}.explainer-grid dd{overflow-wrap:anywhere;margin:0}@media (width<=1200px){.exec-grid{grid-template-columns:minmax(0,1fr);overflow:auto}.exec-left{border-right:0}}.thread-tabs{gap:4px;max-width:60vw;display:flex;overflow-x:auto}.thread-tab{border:1px solid var(--border);background:var(--panel);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;height:24px;padding:0 8px;font-size:12px;display:inline-flex}.thread-tab.selected{border-color:var(--accent);background:var(--accent-soft)}.thread-tab .state{color:var(--muted);font-size:11px}.thread-tab.state-Terminated{opacity:.6}.thread-tab.state-BlockedOnMonitor .state,.thread-tab.state-BlockedOnClassInit .state{color:var(--error)}.thread-tab.state-Waiting .state,.thread-tab.state-TimedWaiting .state,.thread-tab.state-Sleeping .state,.thread-tab.state-BlockedOnInput .state{color:var(--warn)}.running-mark{color:var(--ok);font-size:10px}.call-stack{margin:0;padding:4px;list-style:none}.frame-row{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:8px;width:100%;padding:3px 6px;display:flex;overflow:hidden}.frame-row:hover{background:var(--panel-2)}.frame-row.selected{background:var(--accent-soft)}.frame-row.library .sig{color:var(--muted)}.frame-row.unwinding{border-color:var(--error);background:var(--error-soft)}.frame-row.collapsed{color:var(--muted);border:1px dashed var(--border);justify-content:center;font-style:italic}.frame-row .sig{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.frame-row .where{white-space:nowrap;margin-left:auto;font-size:11px}.frame-row .depth{text-align:right;width:16px;font-size:11px}table.locals tr.pad-row td{color:var(--faint)}.operand-stack{flex-direction:column;gap:3px;margin:0;padding:6px 10px 10px;list-style:none;display:flex}.stack-slot{border:1px solid var(--border);min-height:24px;font-family:var(--mono);background:var(--panel-2);border-radius:5px;align-items:center;gap:8px;padding:2px 8px;font-size:12px;display:flex}.stack-slot.unused{background:0 0;border-style:dashed}.stack-slot.top{border-color:var(--accent)}.stack-slot .idx{text-align:right;width:16px;font-size:11px}.stack-slot .val{border-radius:3px;flex:1}table.bytecode td{padding-top:1px;padding-bottom:1px}table.bytecode tr.current td{background:var(--current)}table.bytecode tr.call td{background:color-mix(in srgb, var(--current) 50%, transparent)}table.bytecode tr.guarded td:nth-child(4){box-shadow:inset 2px 0 0 color-mix(in srgb, var(--warn) 60%, transparent)}table.bytecode .mnemonic{font-weight:650}table.bytecode .comment{color:var(--muted)}table.bytecode .handler{margin-right:6px}.bp-cell{width:22px}.bp{cursor:pointer;vertical-align:middle;background:0 0;border:1px solid #0000;border-radius:50%;width:12px;height:12px;padding:0}tr:hover .bp{border-color:var(--border-strong)}.bp.on{background:var(--error);border-color:var(--error)}.source{font-family:var(--mono);margin:0;padding:4px 0;font-size:12px;list-style:none}.source li{white-space:pre;gap:10px;padding:0 10px;display:flex}.source li.current{background:var(--current)}.source .ln{text-align:right;-webkit-user-select:none;user-select:none;flex:none;width:32px}.source code{font-size:12px}.explorer{flex-direction:column;height:100%;min-height:0;display:flex}.explorer-tree{flex:40%;min-height:90px;padding:4px 0;overflow:auto}.explorer-detail{border-top:1px solid var(--border-strong);flex-direction:column;flex:60%;min-height:0;display:flex}.detail-head{background:var(--panel-2);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:2px;padding:0 6px;display:flex;overflow-x:auto}.tab{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:5px 8px;font-size:12px}.tab.selected{color:var(--text);border-bottom-color:var(--accent)}.tab-body{flex:1;min-height:0;overflow:auto}.tree-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:8px 10px 2px;font-size:11px;font-weight:650}.tree-group-label{color:var(--muted);padding:4px 10px 1px;font-size:11px}.tree-item{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:2px 10px 2px 18px;display:flex}.tree-item:hover{background:var(--panel-2)}.tree-item.selected{background:var(--accent-soft)}.tree-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.init-dot{border:1px solid var(--faint);border-radius:50%;flex:none;width:7px;height:7px}.init-dot.loaded{border-color:var(--muted);background:0 0}.init-dot.initializing{background:var(--warn);border-color:var(--warn)}.init-dot.initialized{background:var(--ok);border-color:var(--ok)}.init-dot.failed{background:var(--error);border-color:var(--error)}table.grid .wrap,table.grid td.wrap{white-space:normal;word-break:break-all}table.cp tr.phantom td{color:var(--faint);font-style:italic}table.overview th{border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);vertical-align:top;background:0 0;width:110px;position:static}table.overview td{white-space:normal}.methods{margin:0;padding:4px;list-style:none}.methods li{border-radius:5px;align-items:center;gap:4px;display:flex}.methods li:hover{background:var(--panel-2)}.methods li:hover .bp{border-color:var(--border-strong)}.method-open{text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:1;align-items:center;gap:6px;min-width:0;padding:3px 4px;display:flex;overflow:hidden}.method-head{border-bottom:1px solid var(--border);padding:8px 10px}.btn.back{margin:6px 10px}.right-stack{grid-template-rows:minmax(0,2fr) minmax(0,1fr);gap:8px;min-width:0;min-height:0;display:grid}.heap-controls{z-index:2;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;display:flex;position:sticky;top:0}.heap-controls .input{flex:1;min-width:120px;max-width:none}.heap-list{flex-direction:column;gap:6px;padding:8px;display:flex}.obj-card{border:1px solid var(--border);background:var(--panel);border-radius:6px;overflow:hidden}.obj-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.obj-card.pinned{border-color:var(--error)}.obj-card.pinned .obj-head{background:var(--error-soft)}.obj-card.pulse{animation:1.2s ease-out pulse-ring}@keyframes pulse-ring{0%{box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 45%, transparent)}to{box-shadow:0 0 0 2px var(--accent-soft)}}.obj-head{background:var(--panel-2);flex-wrap:nowrap;align-items:baseline;gap:6px;padding:4px 8px;display:flex}.obj-toggle{width:16px;color:var(--muted);text-align:center;cursor:pointer;background:0 0;border:0;flex:none;padding:0;font-size:10px;line-height:1}.obj-toggle:hover{color:var(--text)}.obj-title{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:none;align-items:baseline;gap:4px;padding:0;display:flex}.obj-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);color:var(--text);flex:auto;font-size:12px;overflow:hidden}.obj-body{padding-left:24px}.obj-badges{flex-wrap:wrap;flex:none;gap:4px;margin-left:auto;display:flex}.v-str{color:var(--t-float);word-break:break-all}table.fields td:first-child{width:1%}.elements{font-family:var(--mono);flex-wrap:wrap;gap:3px;padding:6px 8px;font-size:12px;display:flex}.element{border:1px solid var(--border);border-radius:4px;gap:4px;padding:1px 5px;display:inline-flex}.element .idx{font-size:10px}.statics-class{border-bottom:1px solid var(--border);padding:4px 0 6px}.statics-head{align-items:center;gap:6px;padding:2px 10px;display:flex}.link-button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.console{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;padding:6px 10px;font-size:12.5px}.console .line.stderr{color:var(--error)}.console .line.stdin{color:var(--accent)}.console .line.waiting{color:var(--accent);align-items:center;gap:8px;font-style:italic;display:flex}.modal-backdrop{z-index:40;background:#00000059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);width:min(460px,100%);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:10px;padding:18px;display:flex}.modal h2{margin:0;font-size:16px}.modal p{margin:0}.modal a{color:var(--accent)}.modal .input{max-width:none;height:34px;font-family:var(--mono)}.modal .suggestion{align-self:flex-start}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.log-header{background:var(--accent-soft);border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;padding:5px 10px;position:sticky;top:0;overflow:hidden}.event-log{margin:0;padding:4px 6px;list-style:none}.event-log li{align-items:baseline;gap:8px;padding:1px 4px;display:flex}.event-log li:nth-child(2n){background:var(--panel-2)}.chip{text-align:center;background:var(--panel-2);border:1px solid var(--border);min-width:92px;color:var(--muted);border-radius:4px;flex:none;padding:0 6px;font-size:10.5px;line-height:17px}.chip.cat-stack{color:var(--t-int)}.chip.cat-heap{color:var(--t-ref)}.chip.cat-call{color:var(--t-long)}.chip.cat-exception{color:var(--error)}.chip.cat-thread{color:var(--warn)}.chip.cat-class{color:var(--t-float)}.chip.cat-io{color:var(--accent)}.threads-view .clock{border-bottom:1px solid var(--border);padding:6px 10px}.threads-view table+table{margin-top:10px}.title-tabs{text-transform:none;letter-spacing:0;gap:2px;display:inline-flex}.title-tabs .tab{padding:2px 6px;font-size:12px;font-weight:600}.memory-map{height:100%;position:relative;overflow:auto}.memory-canvas{position:relative}.mem-region{border-radius:var(--radius);background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--border);position:absolute}.mem-region-title{height:22px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding:4px 10px 0;font-size:11px;font-weight:600}.mem-label{height:18px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:600;position:absolute}.mem-label.faint{color:var(--faint);letter-spacing:0;text-transform:none;font-weight:400}.mem-hint{cursor:help;border-radius:3px}.mem-hint:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mem-edges{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.mem-edge{fill:none;stroke:var(--faint);stroke-width:1.25px}.mem-edge.changed,.mem-edge.related{stroke:var(--accent);stroke-width:2px}.mem-edge.dimmed{opacity:.15}.mem-box{background:var(--panel);border-radius:6px;font-size:12px;position:absolute;overflow:hidden}.mem-box:after{border-radius:inherit;box-shadow:inset 0 0 0 1px var(--border-strong);content:"";pointer-events:none;position:absolute;inset:0}.mem-box.registers{background:var(--accent-soft)}.mem-box.library-frames{color:var(--muted);background:0 0}.mem-box.library-frames:after{box-shadow:inset 0 0 0 1px var(--border)}.mem-box.unwinding:after{box-shadow:inset 0 0 0 2px var(--error)}.mem-box.selected:after{box-shadow:inset 0 0 0 2px var(--accent)}.mem-box.unreachable{opacity:.5}.mem-box[role=button]{cursor:pointer}.mem-box[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mem-head{background:var(--panel-2);height:24px;box-shadow:inset 0 -1px 0 var(--border);white-space:nowrap;align-items:center;gap:6px;padding:0 8px;display:flex;overflow:hidden}.mem-title{text-overflow:ellipsis;font-weight:600;overflow:hidden}.mem-sub{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.mem-head .badge{flex:none}.mem-row{white-space:nowrap;align-items:center;gap:8px;height:20px;padding:0 12px 0 8px;display:flex;position:relative}.mem-row.section{color:var(--faint);letter-spacing:.04em;text-transform:uppercase;font-size:10px}.mem-row.faint{color:var(--faint)}.mem-row-label{min-width:44px;color:var(--muted);flex:none}.mem-row-value{text-overflow:ellipsis;flex:auto;overflow:hidden}.mem-dot{background:var(--t-ref);border-radius:50%;width:6px;height:6px;position:absolute;top:7px}.mem-dot.right{right:3px}.mem-dot.left{left:3px}.main-grid.memory-grid{grid-template-columns:var(--code-width,460px) 6px minmax(0, 1fr)}@media (width<=900px){.main-grid.memory-grid{grid-template-columns:minmax(0,1fr)}}.memory-panel .panel-body{overflow:hidden}.mode-switch{display:inline-flex}.mode-switch .btn{border-radius:0}.mode-switch .btn:first-child{border-radius:6px 0 0 6px}.mode-switch .btn:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.mode-switch .btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
