.jl-editor-root{flex-direction:column;display:flex;position:relative}.jl-editor-banner{background:var(--joblang-editor-warning-bg,#fff4c1);color:var(--joblang-editor-warning-fg,#a07000);justify-content:space-between;align-items:center;padding:4px 8px;font-size:13px;display:flex}.jl-editor-banner button{cursor:pointer;margin-left:8px}.jl-editor-submit{border-top:1px solid var(--joblang-editor-border,#d0d7de);background:var(--joblang-editor-bg,#fff);text-align:right;padding:6px 8px}.jl-submit-button{cursor:pointer;border:1px solid var(--joblang-editor-border,#d0d7de);background:var(--joblang-editor-button-bg,#f6f8fa);color:var(--joblang-editor-fg,#24292f);border-radius:4px;padding:4px 12px;font-size:13px}.jl-submit-button:disabled{cursor:not-allowed;opacity:.6}.jl-editor-submit-success .jl-submit-button{background:var(--joblang-editor-success-bg,#d1f4d6);border-color:var(--joblang-editor-success-border,#6bb674)}.jl-editor-submit-error .jl-submit-button{background:var(--joblang-editor-error-bg,#ffd0d0);border-color:var(--joblang-editor-error-border,#d44b4b)}.jl-editor-main{flex:1;display:flex;position:relative;overflow:hidden}.jl-gutter{text-align:right;-webkit-user-select:none;user-select:none;width:40px;color:var(--joblang-editor-comment,#6a9955);background:var(--joblang-editor-bg,#fff);flex-shrink:0;padding:4px 4px 4px 0;font-family:SF Mono,Fira Code,Consolas,Menlo,monospace;font-size:14px;line-height:1.5;overflow:hidden}.jl-gutter-line{padding-right:8px;display:block}.jl-editor-content{flex:1;position:relative;overflow:hidden}.jl-text-base{white-space:pre;word-wrap:normal;tab-size:2;letter-spacing:0;box-sizing:border-box;border:none;margin:0;padding:4px 8px;font-family:SF Mono,Fira Code,Consolas,Menlo,monospace;font-size:14px;line-height:1.5}.jl-textarea{resize:none;color:#0000;width:100%;height:100%;caret-color:var(--joblang-editor-fg,#000);z-index:2;background:0 0;outline:none;position:absolute;top:0;left:0;overflow:auto}.jl-overlay{pointer-events:none;z-index:1;background:var(--joblang-editor-bg,#fff);width:100%;height:100%;color:var(--joblang-editor-fg,#000);position:absolute;top:0;left:0;overflow:hidden}.jl-line{min-height:1.5em;display:block}.jl-tok-keyword{color:var(--joblang-editor-keyword,#03f)}.jl-tok-type,.jl-tok-variable{color:var(--joblang-editor-ref,#0a4)}.jl-tok-property{color:var(--joblang-editor-fg,#000)}.jl-tok-function{color:var(--joblang-editor-keyword,#03f)}.jl-tok-string{color:var(--joblang-editor-string,#a31515)}.jl-tok-number{color:var(--joblang-editor-number,#098658)}.jl-tok-comment{color:var(--joblang-editor-comment,#6a9955)}.jl-tok-operator{color:var(--joblang-editor-operator,#666)}.jl-diag-error{-webkit-text-decoration:wavy underline var(--joblang-editor-error-fg,#c00);-webkit-text-decoration:wavy underline var(--joblang-editor-error-fg,#c00);text-decoration:wavy underline var(--joblang-editor-error-fg,#c00);text-underline-offset:2px}.jl-diag-warning{-webkit-text-decoration:wavy underline var(--joblang-editor-warning-fg,#a07000);-webkit-text-decoration:wavy underline var(--joblang-editor-warning-fg,#a07000);text-decoration:wavy underline var(--joblang-editor-warning-fg,#a07000);text-underline-offset:2px}.jl-diag-info{-webkit-text-decoration:underline var(--joblang-editor-fg,#000);-webkit-text-decoration:underline var(--joblang-editor-fg,#000);text-decoration:underline var(--joblang-editor-fg,#000);text-underline-offset:2px}.jl-completion-widget{z-index:10;background:var(--joblang-editor-bg,#fff);border:1px solid var(--joblang-editor-operator,#666);border-radius:3px;min-width:200px;max-height:200px;font-family:SF Mono,Fira Code,Consolas,Menlo,monospace;font-size:13px;position:absolute;overflow-y:auto;box-shadow:0 2px 8px #00000026}.jl-completion-item{cursor:pointer;align-items:center;padding:2px 8px;display:flex}.jl-completion-item.selected{background:var(--joblang-editor-keyword,#03f);color:#fff}.jl-completion-label{flex:1}.jl-theme-light{--joblang-editor-bg:#fff;--joblang-editor-fg:#000;--joblang-editor-keyword:#03f;--joblang-editor-ref:#0a4;--joblang-editor-string:#a31515;--joblang-editor-number:#098658;--joblang-editor-comment:#6a9955;--joblang-editor-operator:#666;--joblang-editor-error-bg:#fee;--joblang-editor-error-fg:#c00;--joblang-editor-warning-bg:#fff4c1;--joblang-editor-warning-fg:#a07000}.jl-theme-dark{--joblang-editor-bg:#1e1e1e;--joblang-editor-fg:#d4d4d4;--joblang-editor-keyword:#569cd6;--joblang-editor-ref:#9cdcfe;--joblang-editor-string:#ce9178;--joblang-editor-number:#b5cea8;--joblang-editor-comment:#6a9955;--joblang-editor-operator:gray;--joblang-editor-error-bg:#5a1a1a;--joblang-editor-error-fg:#ff8080;--joblang-editor-warning-bg:#5a4a1a;--joblang-editor-warning-fg:#ffd080}.app-root{grid-template-rows:auto 1fr;height:100vh;display:grid}.app-header{border-bottom:1px solid #ccc;gap:20px;padding:12px;display:flex}.app-header nav button{margin-right:8px;padding:6px 12px}.app-header nav button.active{color:#fff;background:#06c}.app-header .controls{gap:12px;margin-left:auto;display:flex}main{padding:16px;overflow:auto}.telemetry-panel{background:#f5f5f5;border-top:1px solid #ccc;border-left:1px solid #ccc;width:280px;padding:8px;font-size:12px;position:fixed;bottom:0;right:0}
