:root{--void: #050507;--surface: #0c0c10;--lift: #13131a;--border: rgba(255, 255, 255, .06);--border-active: rgba(255, 255, 255, .14);--text-primary: #e8e8f0;--text-mid: rgba(232, 232, 240, .62);--text-dim: rgba(232, 232, 240, .38);--accent-amber: #f59e0b;--accent-amber-dim: rgba(245, 158, 11, .18);--accent-ember: #ef4444;--accent-ember-dim: rgba(239, 68, 68, .15);--accent-green: #22c55e;--accent-green-dim: rgba(34, 197, 94, .14);--accent-blue: #3b82f6;--accent-blue-dim: rgba(59, 130, 246, .14);--accent-purple: #a855f7;--accent-purple-dim:rgba(168, 85, 247, .14);--font-brand: "Bebas Neue", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-prose: "Epilogue", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;background:var(--void);color:var(--text-primary);font-family:var(--font-prose);font-weight:200;overflow:hidden;cursor:default;-webkit-user-select:none;user-select:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:.028;pointer-events:none;z-index:9999}.shell{display:grid;grid-template-rows:52px 1fr 72px;grid-template-columns:220px 1fr 320px;height:100vh;width:100vw}.topbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--border);background:#050507eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100}.topbar-left,.topbar-center,.topbar-right{display:flex;align-items:center;gap:24px}.brand{font-family:var(--font-brand);font-size:22px;letter-spacing:.12em;color:var(--accent-amber)}.brand span{color:var(--text-dim);font-size:10px;font-family:var(--font-mono);letter-spacing:.2em;margin-left:10px;font-weight:300}.divider-v{width:1px;height:24px;background:var(--border)}.status-pill{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;color:var(--text-mid);letter-spacing:.08em}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-green);box-shadow:0 0 8px var(--accent-green);animation:pulse 2s infinite}.status-dot.ok{background:var(--accent-green);box-shadow:0 0 8px var(--accent-green)}.status-dot.fail{background:var(--accent-ember);box-shadow:0 0 8px var(--accent-ember)}.sys-metric{display:flex;flex-direction:column;align-items:center}.sys-metric-val{font-family:var(--font-mono);font-size:16px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.sys-metric-val.ok{color:var(--accent-green)}.sys-metric-val.warn{color:var(--accent-amber)}.sys-metric-val.bad{color:var(--accent-ember)}.sys-metric-label{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.16em;text-transform:uppercase}.time-display{font-family:var(--font-mono);font-size:13px;color:var(--text-mid);font-variant-numeric:tabular-nums}.left-rail{border-right:1px solid var(--border);padding:16px 0;overflow-y:auto}.rail-section-label{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.2em;text-transform:uppercase;padding:12px 24px 8px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 24px;cursor:pointer;font-size:13px;color:var(--text-mid);border-left:2px solid transparent;transition:all .15s}.nav-item:hover{color:var(--text-primary);background:#ffffff05}.nav-item.active{color:var(--accent-amber);border-left-color:var(--accent-amber);background:var(--accent-amber-dim)}.nav-icon{width:16px;height:16px;flex-shrink:0}.nav-label{flex:1}.nav-badge{font-family:var(--font-mono);font-size:10px;background:#ffffff14;padding:2px 6px;border-radius:3px;color:var(--text-mid)}.nav-badge.red{background:var(--accent-ember-dim);color:var(--accent-ember)}.canvas{position:relative;overflow:hidden;background:radial-gradient(ellipse at 30% 20%,rgba(245,158,11,.03) 0%,transparent 50%),radial-gradient(ellipse at 70% 70%,rgba(59,130,246,.02) 0%,transparent 50%),var(--void)}.canvas-label{position:absolute;top:16px;left:24px;font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.2em;z-index:10}.canvas-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--text-dim);font-family:var(--font-mono);font-size:12px}.canvas-empty button{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;padding:10px 18px;background:var(--accent-amber-dim);border:1px solid var(--accent-amber);color:var(--accent-amber);border-radius:3px;cursor:pointer}.canvas-empty button:hover{background:var(--accent-amber);color:var(--void)}.session-orb{position:absolute;border-radius:50%;cursor:pointer;transition:transform .25s cubic-bezier(.2,.9,.3,1);display:flex;align-items:center;justify-content:center}.session-orb:hover{transform:scale(1.05)}.session-orb.selected .orb-inner{box-shadow:0 0 0 1px var(--accent-amber),0 0 40px #f59e0b66}.orb-glow{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;border-radius:50%;filter:blur(40px);opacity:.4;pointer-events:none}.orb-glow.running{background:radial-gradient(circle,var(--accent-green),transparent 70%)}.orb-glow.waiting{background:radial-gradient(circle,var(--accent-amber),transparent 70%)}.orb-glow.paused{background:radial-gradient(circle,var(--accent-blue),transparent 70%)}.orb-glow.complete{background:radial-gradient(circle,var(--accent-purple),transparent 70%)}.orb-glow.error{background:radial-gradient(circle,var(--accent-ember),transparent 70%)}.orb-glow.idle{background:radial-gradient(circle,rgba(255,255,255,.1),transparent 70%)}.orb-ring{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;top:-12px;right:-12px;bottom:-12px;left:-12px;animation:orb-spin 18s linear infinite;pointer-events:none}.orb-ring:after{content:"";position:absolute;top:-3px;left:calc(50% - 3px);width:6px;height:6px;background:currentColor;border-radius:50%;box-shadow:0 0 8px currentColor}@keyframes orb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.orb-inner{position:relative;width:78%;height:78%;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.05),var(--lift) 70%);border:1px solid var(--border-active);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;overflow:hidden}.orb-state-tag{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;font-family:var(--font-mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;border-radius:2px}.orb-state-tag.running{background:var(--accent-green-dim);color:var(--accent-green)}.orb-state-tag.waiting{background:var(--accent-amber-dim);color:var(--accent-amber)}.orb-state-tag.paused{background:var(--accent-blue-dim);color:var(--accent-blue)}.orb-state-tag.complete{background:var(--accent-purple-dim);color:var(--accent-purple)}.orb-state-tag.error{background:var(--accent-ember-dim);color:var(--accent-ember)}.orb-state-tag.idle{background:#ffffff0f;color:var(--text-dim)}.state-dot-inner{width:5px;height:5px;border-radius:50%;background:currentColor}.orb-state-tag.running .state-dot-inner{animation:pulse 1.4s infinite}.orb-name{font-family:var(--font-brand);font-size:17px;letter-spacing:.08em;margin-top:6px;color:var(--text-primary)}.orb-sub{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.06em;margin-top:2px}.orb-progress{font-family:var(--font-mono);font-size:10px;color:var(--text-mid);margin-top:8px;font-variant-numeric:tabular-nums}.detail-panel{border-left:1px solid var(--border);padding:20px 18px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.panel-empty{color:var(--text-dim);font-family:var(--font-mono);font-size:11px;text-align:center;padding:40px 0}.panel-header{display:flex;justify-content:space-between;align-items:start;gap:12px}.panel-session-name{font-family:var(--font-brand);font-size:20px;letter-spacing:.08em;color:var(--text-primary)}.panel-session-sub{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);letter-spacing:.04em;margin-top:4px}.control-strip{display:flex;gap:8px}.ctrl-btn{flex:1;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;padding:8px 10px;background:var(--lift);border:1px solid var(--border-active);color:var(--text-primary);border-radius:3px;cursor:pointer;transition:all .15s}.ctrl-btn:hover{background:var(--surface)}.ctrl-btn:disabled{opacity:.4;cursor:not-allowed}.ctrl-btn.primary{background:var(--accent-amber-dim);border-color:var(--accent-amber);color:var(--accent-amber)}.ctrl-btn.primary:hover{background:var(--accent-amber);color:var(--void)}.ctrl-btn.danger{color:var(--accent-ember);border-color:var(--accent-ember-dim)}.ctrl-btn.danger:hover{background:var(--accent-ember-dim)}.metrics-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric-cell{background:var(--lift);border:1px solid var(--border);padding:10px 12px;border-radius:3px}.metric-val{font-family:var(--font-mono);font-size:15px;color:var(--text-primary);font-variant-numeric:tabular-nums}.metric-label{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase;margin-top:2px}.agent-list-label,.feed-label{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px}.agent-row{display:flex;align-items:start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.agent-state-pip{width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0}.agent-state-pip.pip-queued{background:var(--text-dim)}.agent-state-pip.pip-running{background:var(--accent-green);box-shadow:0 0 6px var(--accent-green)}.agent-state-pip.pip-pause{background:var(--accent-blue)}.agent-state-pip.pip-complete{background:var(--accent-purple)}.agent-state-pip.pip-failed{background:var(--accent-ember)}.agent-state-pip.pip-wait{background:var(--accent-amber);box-shadow:0 0 6px var(--accent-amber)}.agent-info{flex:1;min-width:0}.agent-name{font-family:var(--font-mono);font-size:12px;color:var(--text-primary);font-weight:400}.agent-task{font-size:11px;color:var(--text-dim);margin-top:2px;line-height:1.4}.agent-tokens{font-family:var(--font-mono);font-size:10px;color:var(--text-mid);font-variant-numeric:tabular-nums}.bottombar{grid-column:1 / -1;display:flex;align-items:center;gap:20px;padding:0 24px;border-top:1px solid var(--border);background:#050507eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottombar-label{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.2em}.global-controls{display:flex;gap:8px}.global-btn{font-family:var(--font-mono);font-size:10px;padding:6px 12px;background:transparent;border:1px solid var(--border-active);color:var(--text-mid);border-radius:3px;cursor:pointer;letter-spacing:.08em}.global-btn:hover{color:var(--text-primary);border-color:#ffffff4d}.global-btn.amber{color:var(--accent-amber);border-color:var(--accent-amber-dim)}.global-btn.ember{color:var(--accent-ember);border-color:var(--accent-ember-dim)}.cost-ticker{margin-left:auto;display:flex;align-items:center;gap:20px}.ticker-item{display:flex;flex-direction:column}.ticker-val{font-family:var(--font-mono);font-size:14px;color:var(--text-primary);font-variant-numeric:tabular-nums}.ticker-val.amber{color:var(--accent-amber)}.ticker-label{font-family:var(--font-mono);font-size:8px;color:var(--text-dim);letter-spacing:.2em;text-transform:uppercase}.shell-drawer{position:fixed;bottom:72px;left:220px;right:320px;height:55vh;background:var(--void);border-top:1px solid var(--border-active);border-left:1px solid var(--border);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:200;animation:drawer-up .3s cubic-bezier(.2,.9,.3,1)}@keyframes drawer-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.drawer-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-mid)}.drawer-title strong{color:var(--accent-amber)}.drawer-close{background:none;border:none;font-family:var(--font-mono);font-size:14px;color:var(--text-dim);cursor:pointer}.drawer-close:hover{color:var(--text-primary)}.drawer-actions{display:flex;align-items:center;gap:12px}.drawer-action{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;padding:5px 10px;background:var(--accent-amber-dim);border:1px solid var(--accent-amber);color:var(--accent-amber);border-radius:3px;cursor:pointer}.drawer-action:hover{background:var(--accent-amber);color:var(--void)}.drawer-action.danger{background:var(--accent-ember-dim);border-color:var(--accent-ember);color:var(--accent-ember)}.drawer-action.danger:hover{background:var(--accent-ember);color:var(--void)}.drawer-err{font-family:var(--font-mono);font-size:10px;color:var(--accent-ember);background:var(--accent-ember-dim);padding:6px 20px;letter-spacing:.08em;border-bottom:1px solid var(--accent-ember)}.tab-live{margin-left:6px;font-family:var(--font-mono);font-size:8px;letter-spacing:.18em;background:var(--accent-green-dim);color:var(--accent-green);padding:1px 5px;border-radius:2px}.drawer-tabs{display:flex;padding:0 20px;gap:0;background:var(--surface);border-bottom:1px solid var(--border)}.drawer-tab{font-family:var(--font-mono);font-size:11px;padding:10px 16px;background:transparent;border:none;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;display:flex;align-items:center;gap:8px}.drawer-tab:hover{color:var(--text-mid)}.drawer-tab.active{color:var(--accent-amber);border-bottom-color:var(--accent-amber)}.tab-pip{width:6px;height:6px;border-radius:50%;background:var(--text-dim)}.tab-pip.running{background:var(--accent-green)}.tab-pip.paused{background:var(--accent-blue)}.tab-pip.complete{background:var(--accent-purple)}.tab-pip.failed{background:var(--accent-ember)}.tab-pip.waiting{background:var(--accent-amber)}.drawer-body{flex:1;background:#000;overflow:hidden;position:relative}.drawer-terminal{width:100%;height:100%;padding:12px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.workflows-view{position:absolute;top:0;right:0;bottom:0;left:0;padding:48px 56px 24px;overflow-y:auto}.workflows-header{margin-bottom:28px}.workflows-title{font-family:var(--font-brand);font-size:22px;letter-spacing:.14em;color:var(--accent-amber)}.workflows-sub{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);margin-top:6px;letter-spacing:.04em}.workflows-error{font-family:var(--font-mono);font-size:11px;color:var(--accent-ember);background:var(--accent-ember-dim);border:1px solid var(--accent-ember);padding:8px 12px;border-radius:3px;margin-bottom:16px;letter-spacing:.08em}.workflow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.workflow-card{background:var(--lift);border:1px solid var(--border);border-radius:4px;padding:20px;display:flex;flex-direction:column;gap:12px;transition:border-color .15s}.workflow-card:hover{border-color:var(--border-active)}.workflow-card.open{border-color:var(--accent-amber-dim)}.workflow-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.workflow-card-name{font-family:var(--font-brand);font-size:16px;letter-spacing:.08em;color:var(--text-primary)}.workflow-card-count{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;color:var(--text-dim)}.workflow-card-desc{font-size:12px;line-height:1.5;color:var(--text-mid)}.workflow-card-toggle{align-self:flex-start;background:none;border:none;padding:0;font-family:var(--font-mono);font-size:11px;color:var(--accent-amber);cursor:pointer;letter-spacing:.06em}.workflow-card-toggle:hover{color:var(--text-primary)}.workflow-agent-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.workflow-agent-row{padding:8px 0;border-bottom:1px solid var(--border)}.workflow-agent-row:last-child{border-bottom:none}.workflow-agent-name{font-family:var(--font-mono);font-size:11px;color:var(--text-primary);letter-spacing:.04em}.workflow-agent-task{font-size:11px;color:var(--text-dim);line-height:1.4;margin-top:2px}.workflow-start-btn{margin-top:auto}.workflows-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.default-provider{display:flex;flex-direction:column;gap:4px}.default-provider label{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;color:var(--text-dim)}.default-provider select,.workflow-agent-provider{font-family:var(--font-mono);font-size:11px;background:var(--surface);border:1px solid var(--border-active);color:var(--text-primary);padding:5px 8px;border-radius:3px;letter-spacing:.04em}.default-provider select:focus,.workflow-agent-provider:focus{outline:none;border-color:var(--accent-amber)}.workflow-agent-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.workflow-agent-provider{flex-shrink:0;min-width:160px}.monitor-view{position:absolute;top:0;right:0;bottom:0;left:0;padding:48px 56px 24px;overflow-y:auto}.monitor-header{margin-bottom:24px}.monitor-title{font-family:var(--font-brand);font-size:22px;letter-spacing:.14em;color:var(--accent-amber)}.monitor-sub{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);margin-top:6px;letter-spacing:.04em}.monitor-section-label{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);letter-spacing:.2em;margin:24px 0 10px}.monitor-empty{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);padding:24px 0}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.kpi-cell{background:var(--lift);border:1px solid var(--border);border-radius:4px;padding:16px 18px}.kpi-val{font-family:var(--font-mono);font-size:22px;color:var(--text-primary);font-variant-numeric:tabular-nums}.kpi-val.amber{color:var(--accent-amber)}.kpi-label{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.18em;margin-top:4px}.monitor-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12px}.monitor-table th{text-align:left;font-size:9px;letter-spacing:.18em;color:var(--text-dim);padding:10px 12px;border-bottom:1px solid var(--border)}.monitor-table th.num,.monitor-table td.num{text-align:right;font-variant-numeric:tabular-nums}.monitor-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.monitor-table td.amber{color:var(--accent-amber)}.timeline-list{list-style:none;padding:0;margin:0}.timeline-row{display:grid;grid-template-columns:14px 90px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);align-items:start}.timeline-dot{width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--text-dim)}.timeline-dot.running{background:var(--accent-green);box-shadow:0 0 8px var(--accent-green)}.timeline-dot.complete{background:var(--accent-purple)}.timeline-dot.failed{background:var(--accent-ember)}.timeline-dot.paused{background:var(--accent-blue)}.timeline-time{font-family:var(--font-mono);font-size:11px;color:var(--text-mid);font-variant-numeric:tabular-nums;padding-top:2px}.timeline-headline{font-size:13px;color:var(--text-primary)}.timeline-agent{font-weight:500}.timeline-wf{font-family:var(--font-mono);font-size:11px;color:var(--text-mid)}.timeline-sep{color:var(--text-dim);margin:0 6px}.timeline-sub{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);margin-top:4px;letter-spacing:.04em}.timeline-sub code{color:var(--text-mid);background:var(--lift);padding:1px 5px;border-radius:2px}.timeline-status.complete{color:var(--accent-purple)}.timeline-status.running{color:var(--accent-green)}.timeline-status.failed{color:var(--accent-ember)}.timeline-status.paused{color:var(--accent-blue)}@media (max-width: 768px){.shell{grid-template-columns:1fr;grid-template-rows:52px 1fr 60px}.left-rail,.detail-panel{display:none}.topbar{padding:0 12px}.topbar-left{gap:12px}.topbar-center{display:none}.topbar-right{gap:8px}.brand{font-size:18px}.brand span,.sys-metric,.divider-v{display:none}.bottombar{padding:0 12px;gap:10px}.bottombar-label,.global-controls{display:none}.cost-ticker{margin-left:0;gap:12px}.ticker-item{flex-direction:row;align-items:baseline;gap:6px}.ticker-val{font-size:13px}.ticker-label{font-size:7px}.shell-drawer{left:0;right:0;bottom:60px;height:70vh}.drawer-header{padding:10px 12px}.drawer-tabs{padding:0 12px;overflow-x:auto}.drawer-tab{padding:8px 12px;white-space:nowrap}.canvas-label{left:12px}.session-orb{transform:scale(.8)}.workflows-view,.monitor-view{padding:24px 16px}.workflows-header{flex-direction:column;align-items:stretch}.workflow-grid{grid-template-columns:1fr}.workflow-agent-top{flex-direction:column;align-items:stretch;gap:6px}.workflow-agent-provider{min-width:unset}.kpi-grid{grid-template-columns:repeat(2,1fr)}.timeline-row{grid-template-columns:10px 1fr}.timeline-time{display:none}}@media (pointer: coarse){.nav-item{padding:14px 24px}.ctrl-btn{padding:12px 14px}.drawer-tab{padding:12px 16px}.global-btn{padding:10px 16px}.drawer-action{padding:8px 14px}.session-orb{min-width:80px;min-height:80px}}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}
