:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--radius-sm: 2px;--radius-md: 3px;--radius-lg: 5px;--font-mono: "Source Code Pro", "SF Mono", "JetBrains Mono", "Fira Code", Menlo, Consolas, "Ubuntu Mono", monospace;--font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;--ease-standard: cubic-bezier(.4, 0, .2, 1);font-family:var(--font-serif);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,[data-theme=dark]{color-scheme:dark;--color-brand: #62c5ee;--color-brand-strong: #38a6cf;--color-bg: #141312;--color-bg-raised: #1c1b1a;--color-surface: #1c1b1a;--color-surface-raised: #242220;--color-border: rgba(243, 242, 242, .16);--color-border-strong: rgba(243, 242, 242, .32);--color-text: #f3f2f2;--color-text-muted: #cfcac5;--color-text-faint: #8a8580;--color-stack: #62c5ee;--color-stack-bg: rgba(98, 197, 238, .14);--color-timer: #edbb00;--color-timer-bg: rgba(237, 187, 0, .14);--color-interval: #b98cf2;--color-interval-bg: rgba(185, 140, 242, .14);--color-promise: #ff90b1;--color-promise-bg: rgba(255, 144, 177, .14);--color-error: #ff6b6b;--color-error-bg: rgba(255, 107, 107, .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45);--shadow-glow: 0 0 0 1px rgba(98, 197, 238, .35);--color-scrollbar-thumb: #45423f;--color-link-hover: #99e0ff;--color-well-bg: #0e0d0c;--color-well-bg-hover: #17201f;--color-well-text: var(--color-text);--color-well-text-faint: var(--color-text-faint);--color-well-border: rgba(243, 242, 242, .12);--color-well-accent: var(--color-brand);--color-well-accent-hover: #99e0ff;--color-well-on-accent: #0a2430;--color-well-stack: var(--color-stack);--color-well-timer: var(--color-timer);--color-well-interval: var(--color-interval);--color-well-promise: var(--color-promise);--color-well-error: var(--color-error)}[data-theme=light]{color-scheme:light;--color-brand: #0e7ea6;--color-brand-strong: #0a5f80;--color-bg: #f3efe6;--color-bg-raised: #ece4d3;--color-surface: #ece4d3;--color-surface-raised: #e2d8c3;--color-border: rgba(28, 27, 26, .14);--color-border-strong: rgba(28, 27, 26, .28);--color-text: #1c1b1a;--color-text-muted: #4a4642;--color-text-faint: #756f68;--color-stack: #0e7ea6;--color-stack-bg: rgba(14, 126, 166, .12);--color-timer: #8a6a00;--color-timer-bg: rgba(138, 106, 0, .12);--color-interval: #6b3fb8;--color-interval-bg: rgba(107, 63, 184, .12);--color-promise: #b8265a;--color-promise-bg: rgba(184, 38, 90, .12);--color-error: #b3261e;--color-error-bg: rgba(179, 38, 30, .12);--shadow-sm: 0 1px 2px rgba(28, 27, 26, .12);--shadow-md: 0 8px 24px rgba(28, 27, 26, .16);--shadow-glow: 0 0 0 1px rgba(14, 126, 166, .3);--color-scrollbar-thumb: #c9bfa8;--color-link-hover: #0a5f80;--color-well-bg: #e3dac4;--color-well-bg-hover: #d9cdb0;--color-well-text: var(--color-text);--color-well-text-faint: var(--color-text-faint);--color-well-border: rgba(28, 27, 26, .14);--color-well-accent: var(--color-brand);--color-well-accent-hover: var(--color-brand-strong);--color-well-on-accent: #f3efe6;--color-well-stack: var(--color-stack);--color-well-timer: var(--color-timer);--color-well-interval: var(--color-interval);--color-well-promise: var(--color-promise);--color-well-error: var(--color-error)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100vh;background-color:var(--color-bg);color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;letter-spacing:-.015em}a{color:var(--color-brand);text-decoration:inherit}a:hover{color:var(--color-link-hover)}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-thumb);border-radius:999px}*::-webkit-scrollbar-track{background:transparent}.theme-toggle{position:relative}.theme-toggle-trigger{display:flex;align-items:center;gap:.4rem;background:none;border:none;padding:0;color:var(--color-text-faint);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border-bottom:1px solid transparent;transition:color .15s var(--ease-standard),border-color .15s var(--ease-standard)}.theme-toggle-trigger:hover,.theme-toggle-trigger[aria-expanded=true]{color:var(--color-brand);border-bottom-color:var(--color-brand)}.theme-toggle-dot{width:6px;height:6px;flex:none;border-radius:999px;background:var(--color-text-faint)}.theme-toggle-dot[data-resolved=dark]{background:#62c5ee}.theme-toggle-dot[data-resolved=light]{background:#edbb00}.theme-toggle-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:20;margin:0;padding:var(--space-1);list-style:none;width:max-content;min-width:168px;max-width:calc(100vw - 2rem);background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.theme-toggle-option{display:block;width:100%;text-align:left;background:none;border:none;border-left:2px solid transparent;padding:.4rem .55rem;color:var(--color-text-muted);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border-radius:var(--radius-sm);transition:color .15s var(--ease-standard),background-color .15s var(--ease-standard),border-color .15s var(--ease-standard)}.theme-toggle-option:hover{color:var(--color-text);background:var(--color-surface)}.theme-toggle-option.active{color:var(--color-brand);border-left-color:var(--color-brand)}.header{background:var(--color-bg);position:relative}.header-content{max-width:1360px;margin:0 auto;padding:var(--space-3) 2rem 0;display:flex;flex-direction:column;gap:4px}.header-kicker{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding-bottom:4px;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-faint)}.header-kicker-right{display:flex;align-items:baseline;gap:var(--space-3)}.header-rule{height:1px;background:var(--color-border-strong)}.header-hero{display:flex;align-items:baseline;gap:10px;padding:var(--space-2) 0 var(--space-3);min-width:0}.header-mark{position:relative;width:22px;height:22px;flex:none;margin-right:2px}.header-mark-back,.header-mark-front{position:absolute;top:0;left:0;width:16px;height:16px}.header-mark-back{background:var(--color-brand)}.header-mark-front{top:6px;left:6px;background:var(--color-promise);mix-blend-mode:screen}.header-hero h1{margin:0;flex-shrink:0;font-family:var(--font-serif);font-weight:600;font-size:clamp(1.2rem,1vw + 1.4vh,1.7rem);line-height:1.1;letter-spacing:-.015em;color:var(--color-text);white-space:nowrap}.header-hero h1:after{content:"—";margin-left:10px;color:var(--color-border-strong);font-weight:400}.header-hero p{margin:0;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;color:var(--color-text-muted)}.github-link{display:flex;align-items:center;gap:.35rem;color:var(--color-text-faint);text-decoration:none;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid transparent;transition:color .15s var(--ease-standard),border-color .15s var(--ease-standard)}.github-link:hover{color:var(--color-brand);border-bottom-color:var(--color-brand)}.github-link svg{width:12px;height:12px}@media (max-width: 768px){.header-hero{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.header-hero p{white-space:normal;overflow:visible;text-overflow:clip}}@media (max-width: 480px){.header-content{padding:var(--space-4) 1rem 0}}.footer{background:var(--color-bg);border-top:1px solid var(--color-border-strong);padding:var(--space-2) 0;margin-top:auto}.footer-content{max-width:1360px;margin:0 auto;padding:0 2rem;display:flex;align-items:baseline;gap:var(--space-3)}.footer-links{display:flex;align-items:baseline;gap:var(--space-2);flex-shrink:0}.footer-link{color:var(--color-text-faint);text-decoration:none;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:color .15s var(--ease-standard)}.footer-link:hover{color:var(--color-brand)}.footer-separator{color:var(--color-text-faint);font-size:.66rem}.footer-credits{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-serif);font-style:italic;font-size:.8rem;color:var(--color-text-faint);text-align:center}.footer-version{flex-shrink:0;font-size:.66rem;letter-spacing:.06em;color:var(--color-text-faint);font-family:var(--font-mono);border:1px solid var(--color-border);padding:.1rem .45rem;border-radius:var(--radius-sm)}@media (max-width: 768px){.footer-content{flex-wrap:wrap;justify-content:center}.footer-credits{order:1;flex-basis:100%;white-space:normal;text-overflow:clip;overflow:visible}.footer-separator{display:none}}.dropdown{position:relative}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;font-family:var(--font-serif);font-size:.9rem;padding:7px 12px;cursor:pointer;border-radius:var(--radius-md);background:transparent;border:1px solid var(--color-border-strong);color:var(--color-text);transition:border-color .16s var(--ease-standard),color .16s var(--ease-standard)}.dropdown-trigger:hover,.dropdown-trigger[aria-expanded=true]{border-color:var(--color-brand)}.dropdown-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-caret{flex:none;width:6px;height:6px;border-right:1.5px solid var(--color-text-faint);border-bottom:1.5px solid var(--color-text-faint);transform:rotate(45deg) translateY(-2px);transition:transform .16s var(--ease-standard),border-color .16s var(--ease-standard)}.dropdown-trigger[aria-expanded=true] .dropdown-caret{transform:rotate(-135deg) translateY(1px);border-color:var(--color-brand)}.dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;margin:0;padding:var(--space-1);list-style:none;max-height:320px;overflow-y:auto;background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.dropdown-group{padding:0}.dropdown-group+.dropdown-group{margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--color-border)}.dropdown-group-label{display:block;padding:.3rem .55rem;font-family:var(--font-mono);font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint)}.dropdown-option{display:block;width:100%;text-align:left;background:none;border:none;border-left:2px solid transparent;padding:.4rem .55rem;font-family:var(--font-serif);font-size:.85rem;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color .16s var(--ease-standard),background-color .16s var(--ease-standard),border-color .16s var(--ease-standard)}.dropdown-option:hover{color:var(--color-text);background:var(--color-surface)}.dropdown-option.active{color:var(--color-brand);border-left-color:var(--color-brand)}.app{min-height:100vh;background-color:var(--color-bg);display:flex;flex-direction:column}@media (min-width: 1024px){.app{height:100vh;overflow:hidden}}.main{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;max-width:1360px;margin:0 auto;padding:var(--space-3) 2rem var(--space-4);width:100%}.main-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}@media (min-width: 1024px){.main-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}.left-column{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;min-height:0}.right-column{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;min-height:0}.left-column>.sample-selector,.left-column>.execution-controls,.left-column>.explanation-panel{flex-shrink:0}.right-column>.visualization-grid,.right-column>.event-loop-notes{flex-shrink:0}.visualization-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-6)}@media (max-width: 480px){.visualization-grid{grid-template-columns:minmax(0,1fr)}}.visualization-grid>*{min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-weight:600;border-radius:var(--radius-md);border:1px solid var(--color-border);background:transparent;color:var(--color-text-faint);cursor:pointer;transition:all .15s var(--ease-standard);text-decoration:none;gap:5px}.btn:hover{border-color:var(--color-border-strong);color:var(--color-text)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.btn-md{padding:.55rem 1rem;font-size:.95rem}.btn-lg{padding:.7rem 1.6rem;font-size:1rem}.btn-primary{background:var(--color-brand);border-color:var(--color-brand);color:#0a2430;font-weight:600}.btn-primary:hover{background:#99e0ff;border-color:#99e0ff;color:#0a2430}.btn-primary:active{background:var(--color-brand-strong);border-color:var(--color-brand-strong)}.btn-secondary{background:transparent;border-color:var(--color-border-strong);color:var(--color-text)}.btn-secondary:hover{border-color:var(--color-brand);color:var(--color-brand)}.btn-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text-faint)}.btn-outline:hover{border-color:var(--color-brand);color:var(--color-brand)}.badge{display:inline-flex;align-items:center;padding:.125rem .55rem;border-radius:999px;font-family:var(--font-mono);font-size:.65rem;font-weight:600;letter-spacing:.04em;white-space:nowrap}.badge-default{background-color:#f3f2f214;color:var(--color-text-muted)}.badge-success{background-color:var(--color-promise-bg);color:var(--color-promise)}.badge-warning{background-color:var(--color-timer-bg);color:var(--color-timer)}.badge-error{background-color:var(--color-error-bg);color:var(--color-error)}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);height:100%;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.panel-header{padding:var(--space-2) var(--space-4);background:transparent;border-bottom:2px solid var(--color-border);flex-shrink:0}.panel-header h3{margin:0;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text);display:flex;align-items:center}.panel-header h3:before{content:"";display:inline-block;width:8px;height:8px;border-radius:0;margin-right:.6rem;background:currentColor}.panel-header p{margin:.3rem 0 0 1.25rem;font-family:var(--font-serif);font-style:italic;font-size:.8rem;color:var(--color-text-faint);text-transform:none;letter-spacing:normal}.panel-content{padding:var(--space-4);flex:1;overflow-y:auto;min-height:150px;display:flex;flex-direction:column;scroll-behavior:smooth}.panel-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-faint);font-family:var(--font-mono);font-size:.75rem;flex:1}.panel-empty-content{text-align:center}.panel-empty p{margin:0}.panel-empty .small{font-size:.7rem;margin-top:var(--space-1);color:var(--color-text-faint)}.stack-item,.queue-item,.api-item,.microtask-item{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px;padding:9px 10px;margin-bottom:6px;border-radius:0;border:none;border-left:3px solid var(--color-text-faint);background:var(--color-surface-raised);font-family:var(--font-mono);font-size:.8rem;line-height:1.35;overflow-wrap:anywhere;transition:border-color .15s var(--ease-standard),background-color .15s var(--ease-standard);animation:fadeInItem .24s ease-out}@keyframes fadeInItem{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.event-pane{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.pane-header{display:flex;align-items:center;gap:8px}.pane-dot{width:9px;height:9px;flex-shrink:0}.pane-header h3{margin:0;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.pane-count{margin-left:auto;font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-faint)}.pane-rule{height:2px}.pane-note{margin:0;font-family:var(--font-serif);font-style:italic;font-size:.82rem;line-height:1.35;min-height:2.1em;color:var(--color-text-faint)}.pane-content{display:flex;flex-direction:column;gap:6px;min-height:48px;flex:1;overflow-y:auto}.pane-empty{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-faint);padding:6px 0}.pane-empty p{margin:0}.pane-empty .small{font-size:.7rem;margin-top:var(--space-1)}.stack-item.active{border-left-color:var(--color-text);background:#f3f2f214;font-weight:600;color:var(--color-text)}.queue-item{border-left-color:var(--color-stack);background:var(--color-stack-bg)}.microtask-item{border-left-color:var(--color-promise);background:var(--color-promise-bg)}.api-item{border-left-color:var(--color-timer);background:var(--color-timer-bg)}.explanation-panel{margin-top:var(--space-1);border-top:1px solid var(--color-border-strong);padding-top:var(--space-2);min-height:3.5rem;max-height:6.25rem;overflow-y:auto}.explanation-phase{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-2)}.explanation-text{margin:0;max-width:54ch;font-family:var(--font-serif);font-style:italic;font-size:1.35rem;line-height:1.42;color:var(--color-text);animation:explanation-rise .3s ease both}.explanation-text.muted{font-size:1.05rem;color:var(--color-text-faint)}@keyframes explanation-rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.execution-controls{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) 0;background:transparent;border:none;border-radius:0}.controls-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.execution-controls .status{margin-left:auto;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);display:flex;align-items:center;gap:var(--space-2)}.tick-label{margin-left:var(--space-3)}.status-indicator{width:.5rem;height:.5rem;border-radius:50%;background:var(--color-text-faint)}.controls-buttons{display:flex;align-items:center;gap:var(--space-2)}.control-btn-play{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1.4rem;border-radius:var(--radius-md);font-family:var(--font-serif);font-size:1rem;font-weight:600;transition:all .15s ease-in-out;border:none;cursor:pointer;min-width:6.5rem;background:var(--color-brand);color:#0a2430}.control-btn-play:hover:not(:disabled){background:#99e0ff}.control-btn-play:active:not(:disabled){background:var(--color-brand-strong)}.control-btn-step,.control-btn-back,.control-btn-reset{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1.1rem;border-radius:var(--radius-md);font-family:var(--font-serif);font-size:1rem;font-weight:500;transition:all .15s ease-in-out;cursor:pointer;background:transparent}.control-btn-step{border:1px solid var(--color-border-strong);color:var(--color-text)}.control-btn-step:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand)}.control-btn-back,.control-btn-reset{border:none;color:var(--color-text-faint)}.control-btn-back:hover:not(:disabled){color:var(--color-text)}.control-btn-reset:hover:not(:disabled){color:var(--color-promise)}.control-btn-play:disabled,.control-btn-step:disabled,.control-btn-back:disabled,.control-btn-reset:disabled{opacity:.4;cursor:not-allowed}.status-indicator.running{background-color:var(--color-promise);animation:pulse-dot 1.6s ease-in-out infinite}.status-indicator.paused{background-color:var(--color-timer)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.progress-track{height:2px;background:var(--color-border)}.progress-fill{height:100%;background:var(--color-brand);transition:width .28s ease}.sample-selector{background:transparent;border:none;border-radius:0;overflow:visible}.sample-selector-header{background:transparent;padding:0;margin-bottom:var(--space-2);border-bottom:none}.sample-selector-header h3{margin:0;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint)}.sample-selector-content{padding:0}.sample-select-description{margin:var(--space-2) 0 0;font-family:var(--font-serif);font-size:.8rem;color:var(--color-text-faint)}.code-editor{flex:1;min-height:130px;max-height:min(620px,68vh);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column}.code-editor-header{background:transparent;padding:var(--space-2) var(--space-4);border-bottom:2px solid var(--color-brand);flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.code-editor-header h3{margin:0;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint)}.code-editor-content{flex:1;min-height:0;margin:0;overflow:auto;background:var(--color-well-bg);cursor:text;transition:background-color .15s var(--ease-standard)}.code-editor-content:hover,.code-editor-content:focus-visible{background:var(--color-well-bg-hover)}.code-editor-content:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--color-well-accent)}.code-line{display:flex;font-family:var(--font-mono);font-size:.85rem;line-height:1.9;white-space:pre;padding:0 var(--space-4);color:var(--color-well-text);opacity:.86;transition:background .2s ease,opacity .2s ease}.code-line.active{opacity:1;background:color-mix(in srgb,var(--color-well-accent) 12%,transparent)}.code-line.current{font-weight:600;box-shadow:inset 3px 0 0 var(--color-well-promise)}.code-line-number{display:inline-block;width:2.6em;flex-shrink:0;text-align:right;padding-right:1.2em;color:var(--color-well-text-faint);-webkit-user-select:none;user-select:none}.tok-keyword{color:var(--color-well-accent)}.tok-string{color:var(--color-well-interval)}.tok-number{color:var(--color-well-timer)}.tok-call{color:var(--color-well-promise)}.tok-comment{color:var(--color-well-text-faint);font-style:italic}.code-editor-edit{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--color-well-bg)}.code-editor-textarea{flex:1;min-height:0;resize:none;width:100%;box-sizing:border-box;background:var(--color-well-bg);color:var(--color-well-text);border:none;border-top:2px solid color-mix(in srgb,var(--color-well-accent) 45%,transparent);padding:var(--space-4);font-family:var(--font-mono);font-size:.9rem;line-height:1.9}.code-editor-textarea:focus{outline:none}.code-editor-edit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px var(--space-4);border-top:1px solid var(--color-well-border)}.btn-trace{font-family:var(--font-serif);font-size:.8rem;font-weight:600;padding:4px 12px;background:var(--color-well-accent);color:var(--color-well-on-accent);border:none;border-radius:var(--radius-sm);cursor:pointer}.btn-trace:hover{background:var(--color-well-accent-hover)}.btn-cancel{font-family:var(--font-serif);font-size:.8rem;padding:4px 8px;background:transparent;color:var(--color-well-text-faint);border:none;cursor:pointer}.btn-cancel:hover{color:var(--color-well-text)}.code-editor-hint{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.01em;color:var(--color-well-text-faint);margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46ch}.code-editor-error{font-family:var(--font-mono);font-size:.75rem;color:var(--color-promise);border-left:3px solid var(--color-promise);padding:8px 12px;background:var(--color-promise-bg)}.item-name{font-family:var(--font-mono);font-weight:500;color:var(--color-text);font-size:.825rem}.item-details{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-faint)}.current-line-indicator{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--color-promise)}.console-panel{background:var(--color-well-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1;min-height:90px;font-family:var(--font-mono);display:flex;flex-direction:column;overflow:hidden}.console-header{background-color:transparent;padding:var(--space-2) var(--space-4);border-bottom:2px solid var(--color-well-text);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.console-header h3{margin:0;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-well-text)}.console-order-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-well-text-faint)}.console-content{padding:0 .75rem;flex:1;overflow-y:auto;min-height:0}.console-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-well-text-faint);font-size:.8rem}.console-row{display:flex;align-items:baseline;gap:var(--space-3);padding:8px 0;border-bottom:1px solid var(--color-well-border);animation:fadeInItem .24s ease-out}.console-row-index{font-family:var(--font-mono);font-size:.7rem;color:var(--color-well-text-faint);width:2.2em;flex-shrink:0}.console-log{font-size:.9rem;font-weight:600;white-space:pre-wrap;word-break:break-word}.console-log.info{color:var(--color-well-text)}.console-log.warn{color:var(--color-well-timer)}.console-log.error{color:var(--color-well-error)}.console-log.success{color:var(--color-well-promise)}.console-row-from{margin-left:auto;font-family:var(--font-serif);font-style:italic;font-size:.78rem;white-space:nowrap}.event-loop-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-2) var(--space-6);border-top:1px solid var(--color-border-strong);padding-top:var(--space-2)}.event-loop-notes-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:4px}.event-loop-notes p{margin:0;font-size:.9rem;line-height:1.4;color:var(--color-text-muted)}.event-loop-notes code{font-family:var(--font-mono);font-size:.85rem;color:var(--color-promise)}@media (max-width: 640px){.main{padding:var(--space-4) var(--space-3)}.code-editor{height:min(480px,60vh)}}
