/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--font-weight-bold:700;--tracking-wider:.05em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-100{z-index:100}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.m-\[0_2px\]{margin:0 2px}.mb-\[3px\]{margin-bottom:3px}.mb-\[var\(--spacing-sm\)\]{margin-bottom:var(--spacing-sm)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.h-0{height:calc(var(--spacing)*0)}.h-\[18px\]{height:18px}.h-\[var\(--btn-height\)\]{height:var(--btn-height)}.h-auto{height:auto}.w-0{width:calc(var(--spacing)*0)}.w-\[18px\]{width:18px}.w-\[34px\]{width:34px}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-shrink-0,.shrink-0{flex-shrink:0}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-\[var\(--spacing-sm\)\]{gap:var(--spacing-sm)}.overflow-visible{overflow:visible}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-none{border-radius:0}.rounded-tr-\[var\(--radius-sm\)\]{border-top-right-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.bg-\[var\(--bg-primary\)\]{background-color:var(--bg-primary)}.bg-\[var\(--bg-secondary\)\]{background-color:var(--bg-secondary)}.p-0{padding:calc(var(--spacing)*0)}.p-\[6px\]{padding:6px}.p-\[var\(--spacing-md\)\]{padding:var(--spacing-md)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-\[4px\]{padding-inline:4px}.py-1{padding-block:calc(var(--spacing)*1)}.py-\[2px\]{padding-block:2px}.py-\[3px\]{padding-block:3px}.font-mono{font-family:var(--font-mono)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.85em\]{font-size:.85em}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.font-\[600\]{--tw-font-weight:600;font-weight:600}.font-\[var\(--font-mono\)\]{--tw-font-weight:var(--font-mono);font-weight:var(--font-mono)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-\[0_-1px_3px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 -1px 3px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-accent-sm\)\]{--tw-shadow:var(--shadow-accent-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-sm\)\]{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,box-shadow\]{transition-property:transform,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-\[var\(--transition-fast\)\]{--tw-duration:var(--transition-fast);transition-duration:var(--transition-fast)}.duration-\[var\(--transition-normal\)\]{--tw-duration:var(--transition-normal);transition-duration:var(--transition-normal)}.ease-\[cubic-bezier\(0\.175\,0\.885\,0\.32\,1\.275\)\]{--tw-ease:cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}.peer-checked\:bg-\[var\(--accent\)\]:is(:where(.peer):checked~*){background-color:var(--accent)}.peer-checked\:shadow-\[var\(--shadow-accent-sm\)\,inset_0_0_4px_rgba\(0\,0\,0\,0\.2\)\]:is(:where(.peer):checked~*){--tw-shadow:var(--shadow-accent-sm),inset 0 0 4px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:bottom-\[2px\]:before{content:var(--tw-content);bottom:2px}.before\:left-\[2px\]:before{content:var(--tw-content);left:2px}.before\:h-\[12px\]:before{content:var(--tw-content);height:12px}.before\:w-\[12px\]:before{content:var(--tw-content);width:12px}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:bg-\[var\(--text-primary\)\]:before{content:var(--tw-content);background-color:var(--text-primary)}.before\:shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.3\)\]:before{content:var(--tw-content);--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.before\:transition-all:before{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\:duration-300:before{content:var(--tw-content);--tw-duration:.3s;transition-duration:.3s}.before\:ease-\[cubic-bezier\(0\.175\,0\.885\,0\.32\,1\.275\)\]:before{content:var(--tw-content);--tw-ease:cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.peer-checked\:before\:translate-x-\[16px\]:is(:where(.peer):checked~*):before{content:var(--tw-content);--tw-translate-x:16px;translate:var(--tw-translate-x)var(--tw-translate-y)}.peer-checked\:before\:bg-white:is(:where(.peer):checked~*):before{content:var(--tw-content);background-color:var(--color-white)}.peer-checked\:before\:shadow-\[var\(--shadow-sm\)\]:is(:where(.peer):checked~*):before{content:var(--tw-content);--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.hover\:translate-y-\[-1px\]:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-\[rgba\(var\(--accent-rgb\)\,0\.05\)\]:hover{background-color:rgba(var(--accent-rgb),.05)}.hover\:text-\[var\(--accent-hover\)\]:hover{color:var(--accent-hover)}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[var\(--shadow-accent-md\)\]:hover{--tw-shadow:var(--shadow-accent-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[var\(--shadow-md\)\]:hover{--tw-shadow:var(--shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}:root{--spacing-xs:3px;--spacing-sm:7px;--spacing-md:15px;--radius-sm:6px;--radius-md:9px;--shadow-sm:0 2px 4px #0000000d,0 1px 2px #00000014;--shadow-md:0 4px 12px #00000014,0 2px 4px #0000001f;--shadow-accent-sm:0 0 3px rgba(var(--accent-rgb),.25),0 1px 2px rgba(var(--accent-rgb),.15);--shadow-accent-md:0 0 8px rgba(var(--accent-rgb),.3),0 2px 4px rgba(var(--accent-rgb),.2);--shadow-error-sm:0 0 3px #ff555540,0 1px 2px #ff555526;--shadow-error-md:0 0 8px #ff55554d,0 2px 4px #f553;--transition-fast:.12s ease;--transition-normal:.25s ease;--font-xs:11.5px;--font-sm:12.6px;--font-mono:"Fira Code","JetBrains Mono",monospace}*,:before,:after{box-sizing:border-box}body{color:#1e293b;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f8fafc,#e2e8f0,#f1f5f9,#e2e8f0,#f8fafc);height:100vh;max-height:100vh;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.85em;line-height:1.5;position:relative;overflow:hidden}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 20% 80%,#ffd7001a,#0000 50%),radial-gradient(circle at 80% 20%,#ffa5001a,#0000 50%),radial-gradient(circle at 40% 40%,#ffd7000d,#0000 50%);width:100%;height:100%;position:fixed;top:0;left:0}.app-root{z-index:1;flex-direction:column;max-width:1400px;height:700px;margin:0 auto;padding:20px;display:flex;position:relative;overflow:hidden}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:var(--radius-sm);transition:background .3s}::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}.header-section{text-align:center;margin-bottom:20px;position:relative}.main-title{-webkit-text-fill-color:transparent;letter-spacing:-.02em;background:linear-gradient(135deg,gold,orange,gold,orange,gold) 0 0/300% 300%;-webkit-background-clip:text;background-clip:text;justify-content:center;align-items:center;gap:.2em;margin-bottom:20px;font-size:4rem;font-weight:800;line-height:1;animation:4s ease-in-out infinite gradientShift,3s ease-in-out infinite alternate titleGlow;display:flex;position:relative}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes titleGlow{0%{filter:drop-shadow(0 0 20px #ffd7004d);transform:scale(1)}to{filter:drop-shadow(0 0 40px #ffd70099);transform:scale(1.02)}}.subtitle{color:#64748b;margin-bottom:15px;font-size:1.4rem;font-weight:400;line-height:1.6}.compiler-interface{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffd70033;border-radius:24px;flex:1;height:auto;max-height:calc(100vh - 140px);padding:30px 30px 0;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000014,0 0 0 1px #ffd7001a,inset 0 1px #ffffffe6}.compiler-interface:before{content:"";background:linear-gradient(90deg,gold,orange,gold,orange,gold) 0 0/200% 100%;height:4px;animation:3s linear infinite shimmerFlow;position:absolute;top:0;left:0;right:0}@keyframes shimmerFlow{0%{background-position:-200% 0}to{background-position:200% 0}}.header{margin-bottom:var(--spacing-md);box-shadow:none;justify-content:space-between;align-items:center;gap:var(--spacing-sm);background:0 0;border-radius:0;flex-wrap:wrap;padding:0;display:flex}.header>div:first-child{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}h1{font-family:var(--font-mono);background:linear-gradient(45deg,var(--accent),var(--accent-hover))0% 50%;-webkit-text-fill-color:transparent;text-shadow:var(--shadow-accent-sm);background-size:300% 300%;-webkit-background-clip:text;background-clip:text;font-size:1.6em;font-weight:700;line-height:1;animation:5s ease-in-out infinite gradient-shift;display:flex}@keyframes gradient-shift{0%,to{text-shadow:0 0 4px rgba(var(--accent-rgb),.2);background-position:0%}50%{text-shadow:0 0 12px rgba(var(--accent-rgb),.3);background-position:100%}25%,75%{text-shadow:0 0 8px rgba(var(--accent-rgb),.4)}}.main-container{gap:var(--spacing-xs);flex:1;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.panel{padding:var(--spacing-xs);background:#fffffffa;border:1px solid #ffd70033;border-radius:20px;flex-direction:column;min-height:0;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden;box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -2px #00000008,inset 0 1px #ffffffe6}.panel:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #00000014,0 10px 10px -5px #0000000a,0 0 0 1px #ffd70033}.editor-panel{flex:0 0 50%;width:50%;min-width:300px;max-width:50%;height:80%;position:relative;overflow:hidden}.output-panel{flex-direction:column;flex:0 0 50%;width:50%;min-width:300px;max-width:50%;height:80%;display:flex;overflow:hidden}.panel-header{margin-bottom:var(--spacing-xs);background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #ffd70033;justify-content:left;align-items:center;gap:12px;padding:20px 24px;display:flex;overflow:hidden}.panel-title-text h3{color:#e67e22;font-size:1.1rem;font-weight:600;font-family:var(--font-mono);text-shadow:0 1px 2px #ffa5004d;align-items:center;gap:8px;margin:0;display:flex}.panel-title-text h3 i{color:#ef4444;font-size:1rem}@media (max-width:800px){.compiler-interface{height:auto!important;min-height:90vh!important;overflow:visible!important}.main-container{flex-direction:column;padding-bottom:0;height:80vh!important;min-height:80vh!important;max-height:80vh!important;overflow:visible!important}.editor-panel{margin-bottom:10px;overflow:hidden;width:100%!important;max-width:100%!important;height:40vh!important;min-height:300px!important;min-width:unset!important;flex:none!important}.output-panel{overflow:hidden;width:100%!important;max-width:100%!important;height:35vh!important;min-height:250px!important;min-width:unset!important;flex:none!important}.editor-panel textarea,.editor-panel .cm-editor,.output-panel #output,.terminal-container{height:calc(100% - 80px)!important;max-height:calc(100% - 80px)!important;overflow-y:auto!important}}@media (max-width:768px){.compiler-interface{height:auto!important;min-height:95vh!important;overflow:visible!important}.main-container{height:85vh!important;min-height:85vh!important;max-height:85vh!important;overflow:visible!important}.editor-panel{height:42vh!important;min-height:280px!important}.output-panel{height:38vh!important;min-height:250px!important}}.button-container{padding:var(--spacing-xs);flex-wrap:wrap;justify-content:left;gap:4px;display:flex}.output-panel .button-container{justify-content:flex-end;width:100%}button{background:linear-gradient(45deg,var(--accent),var(--accent-hover));font-family:var(--font-mono);padding:calc(var(--spacing-xs)*2)calc(var(--spacing-sm)*2);border-radius:var(--radius-sm);font-size:calc(var(--font-xs)*1.5);align-items:center;gap:var(--spacing-xs);box-shadow:var(--shadow-accent-sm);transition:var(--transition-normal);cursor:pointer;min-height:calc(var(--spacing-md)*2);min-width:calc(var(--spacing-lg)*2);display:flex}button:hover{box-shadow:var(--shadow-accent-md);filter:brightness(1.1);transform:translateY(-1px)}button:active{box-shadow:var(--shadow-accent-sm);filter:brightness(.95);transition:transform var(--transition-fast);transform:translateY(1px)}button i{transition:transform var(--transition-normal)}button:hover i{transform:scale(1.3)}button#compile{color:#fff;background:linear-gradient(135deg,#3776ab,#4b8bbe);box-shadow:0 2px 8px #6f42c180}button#compile:hover{color:#fff;background:linear-gradient(135deg,#8e44ad,#9b59b6);box-shadow:0 4px 12px #6f42c1b3}button#closeOutput{background:linear-gradient(45deg,#933,#cc4d4d);box-shadow:0 2px 8px #99333380}button#closeOutput:hover{background:linear-gradient(45deg,#b33c3c,#e65c5c);box-shadow:0 4px 12px #993333b3}button#zenMode{background:linear-gradient(45deg,#3949ab,#5c6bc0);box-shadow:0 2px 8px #3949ab80}button#zenMode:hover{background:linear-gradient(45deg,#5c6bc0,#7986cb);box-shadow:0 4px 12px #3949abb3}button#clearTerminal{color:#fff;background:linear-gradient(45deg,#b33c3c,#e65c5c)}.dropdown-btn{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:var(--transition-normal)}.dropdown-btn:hover{border-color:var(--accent);background-color:rgba(var(--accent-rgb),.1)}.dropdown,.shortcuts-panel{z-index:100}.dropdown-btn .fa-chevron-down{font-size:.7em}.dropdown:hover .fa-chevron-down{transition-timing-function:cubic-bezier(.34,1.56,.64,1);transform:rotate(180deg)}.resource-icon{width:16px}.dropdown-content,.shortcuts-content{background-color:var(--bg-secondary);box-shadow:var(--shadow-md);border-radius:var(--radius-md);display:none;position:absolute}.dropdown-content{font-family:var(--font-mono);transition:opacity var(--transition-normal),transform var(--transition-normal);animation:fadeIn var(--transition-normal);transform:translateY(-10px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.shortcuts-content{width:250px;padding:var(--spacing-sm);font-size:var(--font-xs)}.dropdown:hover .dropdown-content{display:block;transform:translateY(0)}.dropdown:after{content:"";width:100%;display:none;position:absolute}.dropdown:hover:after{display:block}.dropdown-content a{padding:var(--spacing-sm)var(--spacing-md);gap:var(--spacing-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal);display:flex}.dropdown-content a:hover{box-shadow:var(--shadow-accent-sm);transform:translateY(-3px)}.dropdown-content a:hover .resource-icon{color:var(--accent)}.dropdown-content a:active{transition:transform var(--transition-fast);transform:translateY(0)}.CodeMirror{color:#000;direction:ltr;height:300px;font-family:monospace}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{white-space:nowrap;background-color:#f7f7f7;border-right:1px solid #ddd}.CodeMirror-linenumber{text-align:right;color:#999;white-space:nowrap;min-width:20px;padding:0 3px 0 5px}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;width:auto;border:0!important}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span::-moz-selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:#0000}@keyframes blink{50%{background-color:#0000}}.cm-tab{-webkit-text-decoration:inherit;text-decoration:inherit;display:inline-block}.CodeMirror-rulers{position:absolute;top:-50px;right:0;bottom:0;left:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute;top:0;bottom:0}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;position:relative;overflow:hidden}.CodeMirror-scroll{z-index:0;outline:none;height:100%;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;position:relative;overflow:scroll!important}.CodeMirror-sizer{border-right:50px solid #0000;position:relative}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{z-index:6;outline:none;display:none;position:absolute}.CodeMirror-vscrollbar{top:0;right:0;overflow:hidden scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow:scroll hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{z-index:3;min-height:100%;position:absolute;top:0;left:0}.CodeMirror-gutter{white-space:normal;vertical-align:top;height:100%;margin-bottom:-50px;display:inline-block}.CodeMirror-gutter-wrapper{z-index:4;position:absolute;background:0 0!important;border:none!important}.CodeMirror-gutter-background{z-index:4;position:absolute;top:0;bottom:0}.CodeMirror-gutter-elt{cursor:default;z-index:4;position:absolute}.CodeMirror-gutter-wrapper ::selection{background-color:#0000}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{font-family:inherit;font-size:inherit;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;background:0 0;border-width:0;border-radius:0;margin:0;position:relative;overflow:visible}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{z-index:0;position:absolute;top:0;right:0;bottom:0;left:0}.CodeMirror-linewidget{z-index:2;padding:.1px;position:relative}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{box-sizing:content-box}.CodeMirror-measure{visibility:hidden;width:100%;height:0;position:absolute;overflow:hidden}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;z-index:3;position:relative}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection{background:#d7d4f0}.CodeMirror-line>span::selection{background:#d7d4f0}.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection{background:#d7d4f0}.CodeMirror-line>span::-moz-selection{background:#d7d4f0}.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:0 0}.CodeMirror-foldmarker{color:#00f;text-shadow:1px 1px 2px #b9f,-1px -1px 2px #b9f,1px -1px 2px #b9f,-1px 1px 2px #b9f;cursor:pointer;font-family:arial;line-height:.3}.CodeMirror-foldgutter{width:.7em}.CodeMirror-foldgutter-open,.CodeMirror-foldgutter-folded{cursor:pointer}.CodeMirror-foldgutter-open:after{content:"▾"}.CodeMirror-foldgutter-folded:after{content:"▸"}.cm-editor{height:100%;max-height:400px;font-family:var(--font-mono);border-radius:var(--radius-xs);font-size:.9em;line-height:1.5;overflow:auto}.cm-scroller{max-height:400px;overflow:auto!important}.CodeMirror-scroll{z-index:0;outline:none;height:100%;margin-bottom:-50px;margin-right:-50px;position:relative;padding-bottom:0!important;overflow:scroll!important}.cm-content{overflow:visible}.zen-mode-active{overflow:hidden}.zen-mode-active .cm-editor,.zen-mode-active .CodeMirror{position:fixed;top:0;right:0;bottom:0;left:0}.zen-mode-active .header,.zen-mode-active .panel-header,.zen-mode-active .button-container,.zen-mode-active #vim-status{display:none!important}.CodeMirror-focused .CodeMirror-cursor{border-left-color:var(--accent);box-shadow:0 0 3px var(--accent)}.cm-fat-cursor .CodeMirror-cursor,.cm-animate-fat-cursor{background-color:var(--accent);opacity:.7;width:.55em}.CodeMirror-selected,.CodeMirror-activeline-background{background-color:rgba(var(--accent-rgb),.2)!important}.CodeMirror-foldmarker{color:var(--accent);text-shadow:0 1px 1px #00000080;border-radius:var(--radius-sm);background-color:rgba(var(--accent-rgb),.2);cursor:pointer;box-shadow:var(--shadow-accent-sm);padding:0 4px}.CodeMirror-foldmarker:hover{background-color:rgba(var(--accent-rgb),.3);box-shadow:var(--shadow-accent-md);transform:translateY(-1px)}.CodeMirror-matchingbracket,.CodeMirror-nonmatchingbracket{border-radius:var(--radius-sm);transition:all var(--transition-fast);font-weight:700}.CodeMirror-matchingbracket{background-color:rgba(var(--accent-rgb),.15);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.4);text-shadow:0 0 3px rgba(var(--accent-rgb),.4);animation:1.5s infinite alternate bracket-glow;color:var(--accent)!important}.CodeMirror-nonmatchingbracket{background-color:rgba(var(--error-rgb),.15);box-shadow:0 0 0 1px rgba(var(--error-rgb),.4);text-shadow:0 0 3px rgba(var(--error-rgb),.4);animation:1s infinite error-pulse;color:var(--error)!important}@keyframes bracket-glow{0%{background-color:rgba(var(--accent-rgb),.1);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.4),0 0 5px rgba(var(--accent-rgb),.2);text-shadow:0 0 3px rgba(var(--accent-rgb),.3)}to{background-color:rgba(var(--accent-rgb),.25);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.7),0 0 10px rgba(var(--accent-rgb),.5);text-shadow:0 0 5px rgba(var(--accent-rgb),.6)}}@keyframes error-pulse{0%,to{background-color:rgba(var(--error-rgb),.15);box-shadow:0 0 0 1px rgba(var(--error-rgb),.4),0 0 5px rgba(var(--error-rgb),.2);text-shadow:0 0 3px rgba(var(--error-rgb),.3)}50%{background-color:rgba(var(--error-rgb),.3);box-shadow:0 0 0 1px rgba(var(--error-rgb),.7),0 0 10px rgba(var(--error-rgb),.5);text-shadow:0 0 5px rgba(var(--error-rgb),.6)}}#output{padding:var(--spacing-xs);font-family:var(--font-mono);white-space:pre-wrap;word-wrap:break-word;color:#10b981;border-radius:var(--radius-xs);background:#0f172a;flex:1;max-height:300px;font-size:.85em;font-weight:500;line-height:1.4;overflow:auto}.loading{color:var(--accent);justify-content:center;align-items:center;padding:12px;font-style:italic;animation:1.5s steps(4,end) infinite loading;display:flex}@keyframes loading{0%{letter-spacing:0}25%{letter-spacing:.1em}50%{letter-spacing:.2em}75%{letter-spacing:.3em}to{letter-spacing:.4em}}.error-output{box-shadow:var(--shadow-error-sm);border-radius:var(--radius-sm);transition:all var(--transition-normal);padding:var(--spacing-sm);background-color:#ff55551a;border-left:2px solid #f55}.error-output:hover{box-shadow:var(--shadow-error-md);background-color:#ff555526}.line-number{color:#bd93f9;text-shadow:0 0 2px #bd93f94d;font-weight:700}.column-number{color:#8be9fd;text-shadow:0 0 2px #8be9fd4d;font-weight:700}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:scroll}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.terminal-container{border-radius:var(--radius-xs);box-sizing:border-box;background:#0f172a;flex-direction:column;flex:1;max-height:400px;font-weight:500;transition:background-color .3s,color .3s;display:flex;position:relative;overflow:auto}.xterm{height:100%}.xterm,.xterm-screen,.xterm-rows,.xterm-rows>div{font-weight:500;transition:background-color .3s,color .3s;color:#10b981!important;background-color:#0f172a!important}.xterm-viewport{background-color:#0f172a!important;width:100%!important;transition:background-color .3s!important;overflow-y:auto!important}.xterm-viewport::-webkit-scrollbar{width:8px}.xterm-viewport::-webkit-scrollbar-track{background:#0f172acc;border-radius:4px}.xterm-viewport::-webkit-scrollbar-thumb{background:#10b98199;border:1px solid #0f172acc;border-radius:4px}.xterm-viewport::-webkit-scrollbar-thumb:hover{background:#10b981cc}.xterm-cursor-outline{border-color:#10b981!important;box-shadow:0 0 4px #10b9814d!important}.xterm-selection{opacity:.3;background-color:#10b981!important;box-shadow:0 0 4px #10b9814d!important}.xterm.focus .xterm-cursor,.xterm .xterm-cursor,.xterm-cursor.xterm-cursor-blink{color:#0f172a!important;background-color:#10b981!important;animation:1s step-end infinite cursor-blink!important;box-shadow:0 0 8px #10b98180!important}@keyframes cursor-blink{0%,to{opacity:1;box-shadow:0 0 8px #10b98180,0 0 2px #10b981cc!important}50%{opacity:0;box-shadow:none!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}/*!
* Toastify js 1.12.0
* https://github.com/apvarun/toastify-js
* @license MIT licensed
*
* Copyright (C) 2018 Varun A P
*/.toastify{padding:12px 20px;color:#fff;display:inline-block;box-shadow:0 3px 6px -1px #0000001f,0 10px 36px -4px #4d60e84d;background:-webkit-linear-gradient(315deg,#73a5ff,#5477f5);background:linear-gradient(135deg,#73a5ff,#5477f5);position:fixed;opacity:0;transition:all .4s cubic-bezier(.215,.61,.355,1);border-radius:2px;cursor:pointer;text-decoration:none;max-width:calc(50% - 20px);z-index:2147483647}.toastify.on{opacity:1}.toast-close{background:transparent;border:0;color:#fff;cursor:pointer;font-family:inherit;font-size:1em;opacity:.4;padding:0 5px}.toastify-right{right:15px}.toastify-left{left:15px}.toastify-top{top:-150px}.toastify-bottom{bottom:-150px}.toastify-rounded{border-radius:25px}.toastify-avatar{width:1.5em;height:1.5em;margin:-7px 5px;border-radius:2px}.toastify-center{margin-left:auto;margin-right:auto;left:0;right:0;max-width:fit-content;max-width:-moz-fit-content}@media only screen and (max-width: 360px){.toastify-right,.toastify-left{margin-left:auto;margin-right:auto;left:0;right:0;max-width:fit-content}}/**
 * 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}.cm-s-nord.CodeMirror{background:#2e3440;color:#d8dee9}.cm-s-nord div.CodeMirror-selected{background:#434c5e}.cm-s-nord .CodeMirror-line::selection,.cm-s-nord .CodeMirror-line>span::selection,.cm-s-nord .CodeMirror-line>span>span::selection{background:#3b4252}.cm-s-nord .CodeMirror-line::-moz-selection,.cm-s-nord .CodeMirror-line>span::-moz-selection,.cm-s-nord .CodeMirror-line>span>span::-moz-selection{background:#3b4252}.cm-s-nord .CodeMirror-gutters{background:#2e3440;border-right:0px}.cm-s-nord .CodeMirror-guttermarker,.cm-s-nord .CodeMirror-guttermarker-subtle,.cm-s-nord .CodeMirror-linenumber{color:#4c566a}.cm-s-nord .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-nord span.cm-comment{color:#4c566a}.cm-s-nord span.cm-atom,.cm-s-nord span.cm-number{color:#b48ead}.cm-s-nord span.cm-comment.cm-attribute{color:#97b757}.cm-s-nord span.cm-comment.cm-def{color:#bc9262}.cm-s-nord span.cm-comment.cm-tag{color:#bc6283}.cm-s-nord span.cm-comment.cm-type{color:#5998a6}.cm-s-nord span.cm-property,.cm-s-nord span.cm-attribute{color:#8fbcbb}.cm-s-nord span.cm-keyword,.cm-s-nord span.cm-builtin{color:#81a1c1}.cm-s-nord span.cm-string{color:#a3be8c}.cm-s-nord span.cm-variable,.cm-s-nord span.cm-variable-2,.cm-s-nord span.cm-variable-3,.cm-s-nord span.cm-type{color:#d8dee9}.cm-s-nord span.cm-def{color:#8fbcbb}.cm-s-nord span.cm-bracket{color:#81a1c1}.cm-s-nord span.cm-tag{color:#bf616a}.cm-s-nord span.cm-header,.cm-s-nord span.cm-link{color:#b48ead}.cm-s-nord span.cm-error{background:#bf616a;color:#f8f8f0}.cm-s-nord .CodeMirror-activeline-background{background:#3b4252}.cm-s-nord .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}.cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;color:#f8f8f2!important;border:none}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:solid thin #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:#ffffff1a}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:#ffffff1a}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:#ffffff1a}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-operator,.cm-s-dracula span.cm-keyword{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-variable-3,.cm-s-dracula span.cm-type{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:#ffffff1a}.cm-s-dracula .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}.cm-s-monokai.CodeMirror{background:#272822;color:#f8f8f2}.cm-s-monokai div.CodeMirror-selected{background:#49483e}.cm-s-monokai .CodeMirror-line::selection,.cm-s-monokai .CodeMirror-line>span::selection,.cm-s-monokai .CodeMirror-line>span>span::selection{background:#49483efc}.cm-s-monokai .CodeMirror-line::-moz-selection,.cm-s-monokai .CodeMirror-line>span::-moz-selection,.cm-s-monokai .CodeMirror-line>span>span::-moz-selection{background:#49483efc}.cm-s-monokai .CodeMirror-gutters{background:#272822;border-right:0px}.cm-s-monokai .CodeMirror-guttermarker{color:#fff}.cm-s-monokai .CodeMirror-guttermarker-subtle,.cm-s-monokai .CodeMirror-linenumber{color:#d0d0d0}.cm-s-monokai .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-monokai span.cm-comment{color:#75715e}.cm-s-monokai span.cm-atom,.cm-s-monokai span.cm-number{color:#ae81ff}.cm-s-monokai span.cm-comment.cm-attribute{color:#97b757}.cm-s-monokai span.cm-comment.cm-def{color:#bc9262}.cm-s-monokai span.cm-comment.cm-tag{color:#bc6283}.cm-s-monokai span.cm-comment.cm-type{color:#5998a6}.cm-s-monokai span.cm-property,.cm-s-monokai span.cm-attribute{color:#a6e22e}.cm-s-monokai span.cm-keyword{color:#f92672}.cm-s-monokai span.cm-builtin{color:#66d9ef}.cm-s-monokai span.cm-string{color:#e6db74}.cm-s-monokai span.cm-variable{color:#f8f8f2}.cm-s-monokai span.cm-variable-2{color:#9effff}.cm-s-monokai span.cm-variable-3,.cm-s-monokai span.cm-type{color:#66d9ef}.cm-s-monokai span.cm-def{color:#fd971f}.cm-s-monokai span.cm-bracket{color:#f8f8f2}.cm-s-monokai span.cm-tag{color:#f92672}.cm-s-monokai span.cm-header,.cm-s-monokai span.cm-link{color:#ae81ff}.cm-s-monokai span.cm-error{background:#f92672;color:#f8f8f0}.cm-s-monokai .CodeMirror-activeline-background{background:#373831}.cm-s-monokai .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}.cm-s-material.CodeMirror{background-color:#263238;color:#eff}.cm-s-material .CodeMirror-gutters{background:#263238;color:#546e7a;border:none}.cm-s-material .CodeMirror-guttermarker,.cm-s-material .CodeMirror-guttermarker-subtle,.cm-s-material .CodeMirror-linenumber{color:#546e7a}.cm-s-material .CodeMirror-cursor{border-left:1px solid #FFCC00}.cm-s-material.cm-fat-cursor .CodeMirror-cursor,.cm-s-material .cm-animate-fat-cursor{background-color:#5d6d5c80!important}.cm-s-material div.CodeMirror-selected,.cm-s-material.CodeMirror-focused div.CodeMirror-selected{background:#80cbc433}.cm-s-material .CodeMirror-line::selection,.cm-s-material .CodeMirror-line>span::selection,.cm-s-material .CodeMirror-line>span>span::selection{background:#80cbc433}.cm-s-material .CodeMirror-line::-moz-selection,.cm-s-material .CodeMirror-line>span::-moz-selection,.cm-s-material .CodeMirror-line>span>span::-moz-selection{background:#80cbc433}.cm-s-material .CodeMirror-activeline-background{background:#00000080}.cm-s-material .cm-keyword{color:#c792ea}.cm-s-material .cm-operator{color:#89ddff}.cm-s-material .cm-variable-2{color:#eff}.cm-s-material .cm-variable-3,.cm-s-material .cm-type{color:#f07178}.cm-s-material .cm-builtin{color:#ffcb6b}.cm-s-material .cm-atom{color:#f78c6c}.cm-s-material .cm-number{color:#ff5370}.cm-s-material .cm-def{color:#82aaff}.cm-s-material .cm-string{color:#c3e88d}.cm-s-material .cm-string-2{color:#f07178}.cm-s-material .cm-comment{color:#546e7a}.cm-s-material .cm-variable{color:#f07178}.cm-s-material .cm-tag{color:#ff5370}.cm-s-material .cm-meta{color:#ffcb6b}.cm-s-material .cm-attribute,.cm-s-material .cm-property{color:#c792ea}.cm-s-material .cm-qualifier,.cm-s-material .cm-variable-3,.cm-s-material .cm-type{color:#decb6b}.cm-s-material .cm-error{color:#fff;background-color:#ff5370}.cm-s-material .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}.cm-s-ayu-dark.CodeMirror{background:#0a0e14;color:#b3b1ad}.cm-s-ayu-dark div.CodeMirror-selected{background:#273747}.cm-s-ayu-dark .CodeMirror-line::selection,.cm-s-ayu-dark .CodeMirror-line>span::selection,.cm-s-ayu-dark .CodeMirror-line>span>span::selection{background:#273747}.cm-s-ayu-dark .CodeMirror-line::-moz-selection,.cm-s-ayu-dark .CodeMirror-line>span::-moz-selection,.cm-s-ayu-dark .CodeMirror-line>span>span::-moz-selection{background:#273747}.cm-s-ayu-dark .CodeMirror-gutters{background:#0a0e14;border-right:0px}.cm-s-ayu-dark .CodeMirror-guttermarker{color:#fff}.cm-s-ayu-dark .CodeMirror-guttermarker-subtle,.cm-s-ayu-dark .CodeMirror-linenumber{color:#3d424d}.cm-s-ayu-dark .CodeMirror-cursor{border-left:1px solid #e6b450}.cm-s-ayu-dark.cm-fat-cursor .CodeMirror-cursor,.cm-s-ayu-dark .cm-animate-fat-cursor{background-color:#a2a8a175!important}.cm-s-ayu-dark span.cm-comment{color:#626a73}.cm-s-ayu-dark span.cm-atom{color:#ae81ff}.cm-s-ayu-dark span.cm-number{color:#e6b450}.cm-s-ayu-dark span.cm-comment.cm-attribute{color:#ffb454}.cm-s-ayu-dark span.cm-comment.cm-def,.cm-s-ayu-dark span.cm-comment.cm-tag{color:#39bae6}.cm-s-ayu-dark span.cm-comment.cm-type{color:#5998a6}.cm-s-ayu-dark span.cm-property,.cm-s-ayu-dark span.cm-attribute{color:#ffb454}.cm-s-ayu-dark span.cm-keyword{color:#ff8f40}.cm-s-ayu-dark span.cm-builtin{color:#e6b450}.cm-s-ayu-dark span.cm-string{color:#c2d94c}.cm-s-ayu-dark span.cm-variable{color:#b3b1ad}.cm-s-ayu-dark span.cm-variable-2{color:#f07178}.cm-s-ayu-dark span.cm-variable-3{color:#39bae6}.cm-s-ayu-dark span.cm-type{color:#ff8f40}.cm-s-ayu-dark span.cm-def{color:#fe9}.cm-s-ayu-dark span.cm-bracket{color:#f8f8f2}.cm-s-ayu-dark span.cm-tag{color:#39bae6}.cm-s-ayu-dark span.cm-header{color:#c2d94c}.cm-s-ayu-dark span.cm-link{color:#39bae6}.cm-s-ayu-dark span.cm-error{color:#f33}.cm-s-ayu-dark .CodeMirror-activeline-background{background:#01060e}.cm-s-ayu-dark .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}.cm-s-gruvbox-dark.CodeMirror,.cm-s-gruvbox-dark .CodeMirror-gutters{background-color:#282828;color:#bdae93}.cm-s-gruvbox-dark .CodeMirror-gutters{background:#282828;border-right:0px}.cm-s-gruvbox-dark .CodeMirror-linenumber{color:#7c6f64}.cm-s-gruvbox-dark .CodeMirror-cursor{border-left:1px solid #ebdbb2}.cm-s-gruvbox-dark.cm-fat-cursor .CodeMirror-cursor,.cm-s-gruvbox-dark .cm-animate-fat-cursor{background-color:#8e8d8875!important}.cm-s-gruvbox-dark div.CodeMirror-selected{background:#928374}.cm-s-gruvbox-dark span.cm-meta{color:#83a598}.cm-s-gruvbox-dark span.cm-comment{color:#928374}.cm-s-gruvbox-dark span.cm-number,span.cm-atom{color:#d3869b}.cm-s-gruvbox-dark span.cm-keyword{color:#f84934}.cm-s-gruvbox-dark span.cm-variable,.cm-s-gruvbox-dark span.cm-variable-2{color:#ebdbb2}.cm-s-gruvbox-dark span.cm-variable-3,.cm-s-gruvbox-dark span.cm-type{color:#fabd2f}.cm-s-gruvbox-dark span.cm-operator,.cm-s-gruvbox-dark span.cm-callee,.cm-s-gruvbox-dark span.cm-def,.cm-s-gruvbox-dark span.cm-property{color:#ebdbb2}.cm-s-gruvbox-dark span.cm-string{color:#b8bb26}.cm-s-gruvbox-dark span.cm-string-2,.cm-s-gruvbox-dark span.cm-qualifier,.cm-s-gruvbox-dark span.cm-attribute{color:#8ec07c}.cm-s-gruvbox-dark .CodeMirror-activeline-background{background:#3c3836}.cm-s-gruvbox-dark .CodeMirror-matchingbracket{background:#928374;color:#282828!important}.cm-s-gruvbox-dark span.cm-builtin,.cm-s-gruvbox-dark span.cm-tag{color:#fe8019}.cm-s-seti.CodeMirror{background-color:#151718!important;color:#cfd2d1!important;border:none}.cm-s-seti .CodeMirror-gutters{color:#404b53;background-color:#0e1112;border:none}.cm-s-seti .CodeMirror-cursor{border-left:solid thin #f8f8f0}.cm-s-seti .CodeMirror-linenumber{color:#6d8a88}.cm-s-seti.CodeMirror-focused div.CodeMirror-selected{background:#ffffff1a}.cm-s-seti .CodeMirror-line::selection,.cm-s-seti .CodeMirror-line>span::selection,.cm-s-seti .CodeMirror-line>span>span::selection{background:#ffffff1a}.cm-s-seti .CodeMirror-line::-moz-selection,.cm-s-seti .CodeMirror-line>span::-moz-selection,.cm-s-seti .CodeMirror-line>span>span::-moz-selection{background:#ffffff1a}.cm-s-seti span.cm-comment{color:#41535b}.cm-s-seti span.cm-string,.cm-s-seti span.cm-string-2{color:#55b5db}.cm-s-seti span.cm-number{color:#cd3f45}.cm-s-seti span.cm-variable{color:#55b5db}.cm-s-seti span.cm-variable-2{color:#a074c4}.cm-s-seti span.cm-def{color:#55b5db}.cm-s-seti span.cm-keyword{color:#ff79c6}.cm-s-seti span.cm-operator{color:#9fca56}.cm-s-seti span.cm-keyword{color:#e6cd69}.cm-s-seti span.cm-atom{color:#cd3f45}.cm-s-seti span.cm-meta,.cm-s-seti span.cm-tag{color:#55b5db}.cm-s-seti span.cm-attribute,.cm-s-seti span.cm-qualifier{color:#9fca56}.cm-s-seti span.cm-property{color:#a074c4}.cm-s-seti span.cm-variable-3,.cm-s-seti span.cm-type,.cm-s-seti span.cm-builtin{color:#9fca56}.cm-s-seti .CodeMirror-activeline-background{background:#101213}.cm-s-seti .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}.cm-s-the-matrix.CodeMirror{background:#000;color:#0f0}.cm-s-the-matrix div.CodeMirror-selected{background:#2d2d2d}.cm-s-the-matrix .CodeMirror-line::selection,.cm-s-the-matrix .CodeMirror-line>span::selection,.cm-s-the-matrix .CodeMirror-line>span>span::selection{background:#2d2d2dfc}.cm-s-the-matrix .CodeMirror-line::-moz-selection,.cm-s-the-matrix .CodeMirror-line>span::-moz-selection,.cm-s-the-matrix .CodeMirror-line>span>span::-moz-selection{background:#2d2d2dfc}.cm-s-the-matrix .CodeMirror-gutters{background:#060;border-right:2px solid #00FF00}.cm-s-the-matrix .CodeMirror-guttermarker{color:#0f0}.cm-s-the-matrix .CodeMirror-guttermarker-subtle,.cm-s-the-matrix .CodeMirror-linenumber{color:#fff}.cm-s-the-matrix .CodeMirror-cursor{border-left:1px solid #00FF00}.cm-s-the-matrix span.cm-keyword{color:#008803;font-weight:700}.cm-s-the-matrix span.cm-atom{color:#3ff}.cm-s-the-matrix span.cm-number{color:#ffb94f}.cm-s-the-matrix span.cm-def{color:#99c}.cm-s-the-matrix span.cm-variable{color:#f6c}.cm-s-the-matrix span.cm-variable-2{color:#c6f}.cm-s-the-matrix span.cm-variable-3,.cm-s-the-matrix span.cm-type{color:#96f}.cm-s-the-matrix span.cm-property{color:#62ffa0}.cm-s-the-matrix span.cm-operator{color:#999}.cm-s-the-matrix span.cm-comment{color:#ccc}.cm-s-the-matrix span.cm-string{color:#39c}.cm-s-the-matrix span.cm-meta{color:#c9f}.cm-s-the-matrix span.cm-qualifier{color:#fff700}.cm-s-the-matrix span.cm-builtin{color:#30a}.cm-s-the-matrix span.cm-bracket{color:#cc7}.cm-s-the-matrix span.cm-tag{color:#ffbd40}.cm-s-the-matrix span.cm-attribute{color:#fff700}.cm-s-the-matrix span.cm-error{color:red}.cm-s-the-matrix .CodeMirror-activeline-background{background:#040}.cm-s-sunshine.CodeMirror{background-color:#fffdf7;color:#333}.cm-s-sunshine .CodeMirror-gutters{background:#fff8e1;border-right:1px solid #FFD700}.cm-s-sunshine .CodeMirror-linenumber{color:#6e6a57}.cm-s-sunshine .CodeMirror-cursor{border-left:1px solid #FFD700}.cm-s-sunshine .CodeMirror-selected{background:#ffd70033}.cm-s-sunshine .CodeMirror-line::selection,.cm-s-sunshine .CodeMirror-line>span::selection,.cm-s-sunshine .CodeMirror-line>span>span::selection{background:#ffd70033}.cm-s-sunshine .cm-keyword{color:#d81b60}.cm-s-sunshine .cm-operator{color:orange}.cm-s-sunshine .cm-variable-2{color:#039be5}.cm-s-sunshine .cm-variable-3,.cm-s-sunshine .cm-type{color:#00acc1}.cm-s-sunshine .cm-builtin{color:gold}.cm-s-sunshine .cm-atom{color:#7cb342}.cm-s-sunshine .cm-number{color:orange}.cm-s-sunshine .cm-def{color:#039be5}.cm-s-sunshine .cm-string,.cm-s-sunshine .cm-string-2{color:#7cb342}.cm-s-sunshine .cm-comment{color:#6e6a57}.cm-s-sunshine .cm-variable{color:#333}.cm-s-sunshine .cm-tag{color:#d81b60}.cm-s-sunshine .cm-meta{color:#039be5}.cm-s-sunshine .cm-attribute{color:gold}.cm-s-sunshine .cm-property{color:#039be5}.cm-s-sunshine .cm-qualifier{color:#7cb342}.cm-s-sunshine .cm-error{color:#e53935}.cm-s-sunshine .CodeMirror-matchingbracket{color:#7cb342!important;text-decoration:underline}
