:root{color-scheme:light;--bg-page:#f4f5f6;--text-primary:#12100c;--text-muted:#706f6d;--bg-input:transparent;--accent:#9b4dca;--accent-glow:#c04cfa;--border:#d1d1d1;--shadow:rgba(0, 0, 0, 0.15);--theme-toggle-bg:#e4e2e0;--theme-toggle-active:#ffffff;--drop-zone-bg:#ffffff;--drop-zone-border:#9b4dca;--bg-terminal:#ffffff;--bg-terminal-header:#f6f8fa;--border-terminal:#d0d7de;--border-terminal-light:#e1e4e8;--text-terminal-muted:#656d76;--text-terminal-dim:#8c959f;--text-terminal-success:#1a7f37;--text-terminal-error:#cf222e;--text-terminal-url:#0969da;--bg-terminal-hover:#f3f4f6;--text-terminal-primary:#24292f;--scrollbar-thumb:#d0d7de;--scrollbar-thumb-hover:#afb8c1;--resize-handle:#e1e4e8}html[data-theme=dark]{color-scheme:dark;--bg-page:#121212;--text-primary:#e0e0e0;--text-muted:#9b9691;--bg-input:#1e1e1e;--accent:#9b4dca;--accent-glow:rgba(155, 77, 202, 0.3);--border:#2d3748;--shadow:rgba(0, 0, 0, 0.4);--theme-toggle-bg:#2a231c;--theme-toggle-active:#3a322a;--drop-zone-bg:#1a1a1a;--drop-zone-border:#9b4dca;--bg-terminal:#0d1117;--bg-terminal-header:#161b22;--border-terminal:#2d3748;--border-terminal-light:#30363d;--text-terminal-muted:#8b949e;--text-terminal-dim:#6b7280;--text-terminal-success:#3fb950;--text-terminal-error:#f85149;--text-terminal-url:#58a6ff;--bg-terminal-hover:#21262d;--text-terminal-primary:#c9d1d9;--scrollbar-thumb:#2d3748;--scrollbar-thumb-hover:#4a5568;--resize-handle:#30363d}@media(prefers-color-scheme:dark){html:not([data-theme]){color-scheme:dark;--bg-page:#121212;--text-primary:#e0e0e0;--text-muted:#9b9691;--bg-input:#1e1e1e;--accent:#9b4dca;--accent-glow:rgba(155, 77, 202, 0.3);--border:#2d3748;--shadow:rgba(0, 0, 0, 0.4);--theme-toggle-bg:#2a231c;--theme-toggle-active:#3a322a;--drop-zone-bg:#1a1a1a;--drop-zone-border:#9b4dca;--bg-terminal:#0d1117;--bg-terminal-header:#161b22;--border-terminal:#2d3748;--border-terminal-light:#30363d;--text-terminal-muted:#8b949e;--text-terminal-dim:#6b7280;--text-terminal-success:#3fb950;--text-terminal-error:#f85149;--text-terminal-url:#58a6ff;--bg-terminal-hover:#21262d;--text-terminal-primary:#c9d1d9;--scrollbar-thumb:#2d3748;--scrollbar-thumb-hover:#4a5568;--resize-handle:#30363d}}*{box-sizing:border-box}html,body{height:100%;font-weight:300;overflow:hidden}body{margin:0;padding:0;-webkit-font-smoothing:antialiased}pre{background-color:transparent;border:none}img{max-width:100%}select{border:.1rem solid #9b4dca;color:#9b4dca;font-size:1.1rem;font-weight:700;text-transform:uppercase;text-align:center;text-align-last:center;margin-left:0;margin-bottom:.5rem;height:3.8rem;padding:0 1rem;line-height:normal;width:100%;background-color:transparent;border-radius:.4rem;-webkit-appearance:none}html[data-theme=dark] select,html[data-theme=dark] input[type=password],html[data-theme=dark] textarea{background-color:var(--bg-input);color:var(--accent);border-color:var(--accent)}input[type=password]{text-align:center}input[type=checkbox]{display:none}input[type=checkbox]+label{cursor:pointer;border-radius:.4rem;border:.1rem solid var(--accent);color:var(--accent);font-size:1.1rem;font-weight:700;letter-spacing:.1rem;text-transform:uppercase;width:100%;height:3.8rem;display:flex;align-items:center;justify-content:center;line-height:1;padding:0 1rem;white-space:normal}input[type=checkbox]:checked+label{background-color:var(--accent);color:#fff}html[data-theme=dark] input[type=checkbox]+label{border-color:var(--drop-zone-border);color:var(--accent)}html[data-theme=dark] input[type=checkbox]:checked+label{background-color:var(--accent);color:#fff}.is-disabled{opacity:.6;cursor:not-allowed;pointer-events:none;filter:grayscale(100%)}.wrapper{min-height:88%;position:relative;display:block;width:100%;overflow:hidden}.container{position:relative;width:100%;min-width:300px;max-width:800px}@media(max-width:1023px){.container{max-width:600px}.topnav-title--long{display:none}}.container .row{margin-top:.5rem}.fullheader{text-align:left;margin-top:7.5rem}footer{text-align:center}.header{background-color:var(--bg-page);height:100vh;padding-top:50px}.header .container{position:relative;top:50%;transform:translateY(-50%);border-top:0;text-align:center}.header .title{font-family:gotham rounded a,gotham rounded b,helvetica neue,Arial,sans-serif}.header .img{height:15rem;margin-bottom:2rem}.header+section{border-top:0}pre.prettyprint{border:0;border-left:.3rem solid var(--accent);color:#655d5d}pre.prettyprint .str{color:#4b8b8b}pre.prettyprint .kwd{color:#8464c4}pre.prettyprint .com{color:#adadad}pre.prettyprint .typ{color:#7272ca}pre.prettyprint .lit{color:#9b4dca}pre.prettyprint .pun{color:#5485b6}pre.prettyprint .opn{color:#f4ecec}pre.prettyprint .clo{color:#f4ecec}pre.prettyprint .tag{color:#9b4dca}pre.prettyprint .atn{color:#9b4dca}pre.prettyprint .atv{color:#5485b6}pre.prettyprint .dec{color:#b45a3c}pre.prettyprint .var{color:#ca4949}pre.prettyprint .fun{color:#7272ca}#dropzone,.upload-area{width:100%;height:auto;min-height:200px;padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed #ccc;border-radius:12px}.drop-zone--over{background-color:var(--bg-page);border:2px dashed var(--accent)}.inputfile{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.inputfile+label{cursor:pointer;border-radius:.4rem;border:.1rem dotted var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;min-height:150px;height:auto;letter-spacing:.1rem;padding:0 3rem;text-decoration:none;text-transform:uppercase;white-space:normal;width:100%}.inputfile+label svg{width:1.5em;height:1.5em;fill:var(--accent);margin-right:.75em;vertical-align:middle}#upload-text,#drop-zone{display:block;width:100%;height:200px;margin:0;padding:16px;font-family:inherit;font-size:1.6rem}#upload-text{resize:none;line-height:1.5;outline:none;margin-bottom:0}#drop-zone{display:flex;align-items:center;justify-content:center;cursor:pointer;text-align:center}#upload-loader .disabled{cursor:default}#upload-loader .progress-bar{width:100%;height:14px;background-color:#b5b5b5;display:block;margin-top:-6px;border-radius:4px;overflow:hidden}#upload-loader .progress-bar>div{background-color:var(--accent);width:1%;height:100%;border-radius:4px;will-change:width;position:relative;transition:width .5s ease}.topnav{position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:2000;display:flex;align-items:center;justify-content:space-between;height:52px;width:100%;min-width:400px;max-width:calc(50% - 20px);padding:0 24px;background-color:var(--bg-page);box-sizing:border-box}@media(max-width:1023px){.topnav{max-width:540px}}.topnav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary)}.topnav-icon{width:24px;height:24px;flex-shrink:0}.topnav-title{color:var(--text-muted);font-family:jetbrains mono,fira code,sf mono,monospace;font-size:.75rem;text-decoration:none;transition:color .15s ease}.topnav-title--long{color:var(--text-muted);font-family:jetbrains mono,fira code,sf mono,monospace;font-size:.75rem;text-decoration:none;transition:color .15s ease;white-space:nowrap}.topnav-links{display:flex;align-items:center;gap:24px}.topnav-link{color:var(--text-muted);font-family:jetbrains mono,fira code,sf mono,monospace;font-size:.75rem;text-decoration:none;transition:color .15s ease}.topnav-link:hover{color:var(--text-primary)}.terminal-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;max-width:800px;margin:0 auto;position:relative;z-index:10;min-height:100vh;justify-content:flex-end}@media(max-width:1023px){.terminal-wrapper{max-width:600px}}.terminal-click-area{width:100%}.terminal-window{position:fixed;left:50%;top:26%;transform:translate(-50%,-26%);min-width:400px;min-height:252px;max-height:333px;width:calc(60% - 20px);max-width:calc(60% - 20px);background-color:var(--bg-terminal);border:1px solid var(--border-terminal);border-radius:10px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.4);font-family:jetbrains mono,fira code,sf mono,cascadia code,consolas,monospace;font-size:.75rem;line-height:1.6;user-select:none;cursor:default;transition:border-color .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.terminal-window:hover{border-color:var(--accent);box-shadow:0 8px 30px var(--shadow),0 0 15px var(--accent-glow)}.terminal-header{display:flex;align-items:center;padding:10px 16px;background-color:var(--bg-terminal-header);border-bottom:1px solid var(--border-terminal);gap:8px;user-select:none}.terminal-header:active{cursor:grabbing}.terminal-resize-handle{width:16px;height:16px;cursor:nwse-resize;position:absolute;bottom:0;right:0;background:linear-gradient(135deg,transparent 50%,var(--resize-handle) 50%);border-radius:0 0 10px 0;z-index:10}.terminal-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;touch-action:manipulation;cursor:pointer}.terminal-dot-red{background-color:#ff5f57}.terminal-dot-red:hover{background-color:#ff9a8c;box-shadow:0 0 8px #ff5f57;transform:scale(1.15);transition:all .2s ease}.terminal-dot-yellow{background-color:#febc2e}.terminal-dot-yellow:hover{background-color:#fdcc65;box-shadow:0 0 8px #febc2e;transform:scale(1.15);transition:all .2s ease}.terminal-dot-green{background-color:#28c840}.terminal-dot-green:hover{background-color:#5dd86a;box-shadow:0 0 8px #28c840;transform:scale(1.15);transition:all .2s ease}.terminal-dot-gray{background-color:#cecece}.terminal-dot-gray:hover{background-color:#cecece;box-shadow:0 0 8px #cecece;transform:scale(1.15);transition:all .2s ease}.terminal-title{font-size:.75rem;color:var(--text-terminal-muted);margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:94%}.terminal-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.terminal-body::-webkit-scrollbar{width:6px}.terminal-body::-webkit-scrollbar-track{background:0 0}.terminal-body::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.terminal-body::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.terminal-output{flex:1;min-height:0;max-height:600px;padding:10px;margin-bottom:8px;word-break:break-word}.terminal-output .line{margin:2px 0;white-space:nowrap;animation:fadeIn .15s ease}.terminal-output .success-line{color:var(--text-terminal-success)}.terminal-output .info-line{color:var(--text-terminal-muted)}.terminal-output .error-line{color:var(--text-terminal-error)}.terminal-output .url-line{color:var(--text-terminal-url);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;cursor:pointer;gap:4px}.terminal-output .url-name{flex:1;min-width:0;overflow:hidden}.terminal-output .url-name a{color:var(--text-terminal-url);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.terminal-output .url-actions{display:inline-flex;flex-shrink:0}.terminal-output .label-text{color:var(--text-terminal-muted)}.terminal-output .copy-btn{background:0 0;border:1px solid var(--border-terminal-light);color:var(--text-terminal-muted);padding:1px 8px;border-radius:6px;font-family:inherit;font-size:.75rem;cursor:pointer;transition:background-color .15s ease,color .15s ease;flex-shrink:0}.copy-btn:hover{background-color:var(--bg-terminal-hover);color:var(--text-terminal-primary);border-color:var(--scrollbar-thumb-hover)}.copy-btn.copied{color:var(--text-terminal-success);border-color:var(--text-terminal-success)}.split-copy{background:0 0;border:none;color:var(--text-terminal-muted);padding:1px 8px;font-family:inherit;font-size:1rem;cursor:pointer;transition:background-color .15s ease,color .15s ease}.split-copy:hover{background-color:var(--bg-terminal-hover);color:var(--text-terminal-primary)}.split-copy.copied{color:var(--text-terminal-success)}.split-copy:disabled{cursor:default}.split-view{background:0 0;border:none;border-left:1px solid var(--border-terminal-light);color:var(--text-terminal-muted);padding:1px 8px;font-family:inherit;font-size:1rem;text-decoration:none;cursor:pointer;transition:background-color .15s ease,color .15s ease}.split-view:hover{background-color:var(--bg-terminal-hover);color:var(--text-terminal-primary)}.terminal-welcome{text-align:center;display:none;min-height:100px;cursor:pointer;border-radius:6px;transition:background-color .2s ease}.terminal-welcome.drop-zone--over,.terminal-welcome-art-canvas.drop-zone--over{background-color:rgba(155,77,202,8%)}.terminal-welcome-art-canvas{cursor:pointer;border-radius:6px;transition:background-color .2s ease}.terminal-welcome-art{margin:0;padding:0;font-family:inherit;font-size:.8125rem;line-height:1.35;color:var(--text-terminal-success);text-shadow:0 0 8px var(--accent-glow);display:block;width:100%;text-align:left;user-select:none;animation:fadeIn .3s ease;white-space:pre}.terminal-prompt-line{display:flex;align-items:center;white-space:nowrap;min-height:1.6em;border-top:1px dashed var(--border-terminal);padding:10px;flex-shrink:0;overflow:hidden;min-width:0;margin-top:auto;cursor:pointer}.terminal-prompt{color:var(--text-terminal-success);flex-shrink:0;overflow:hidden;max-width:600px}.terminal-command{color:var(--text-terminal-url);word-break:break-all;flex:1;min-width:0}.terminal-command.is-progress{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.terminal-command-placeholder{color:var(--border-terminal-light);font-size:.8125rem;user-select:none;pointer-events:none;display:block;width:100%;text-align:center}.terminal-cursor{display:inline-block;background-color:var(--text-terminal-url);color:transparent;width:8px;height:1.2em;margin-left:2px;animation:blink 1s step-end infinite;flex-shrink:0}@keyframes blink{from,to{opacity:1}50%{opacity:0}}@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.terminal-clear-btn{background:0 0;border:1px solid var(--text-terminal-muted);color:var(--text-terminal-muted);padding:3px 12px;border-radius:6px;font-family:inherit;font-size:.75rem;cursor:pointer;transition:all .15s ease}.terminal-clear-btn:hover{background-color:var(--bg-terminal-hover);color:var(--text-terminal-primary);border-color:var(--text-terminal-error)}.terminal-history{margin-top:8px;margin-bottom:8px;padding-top:8px;border-top:1px dashed var(--border-terminal)}.terminal-history .history-line{font-size:.6875rem;color:var(--text-terminal-dim);line-height:1.6}.terminal-history .history-line:first-child{font-weight:700;color:var(--accent)}.terminal-history .history-line:last-child{margin-bottom:0}.theme-toggle{display:inline-flex;flex-direction:row;align-items:center;border-radius:6px;gap:4px}.theme-toggle button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;padding:0;border:none;border-radius:6px;background:0 0;color:var(--text-muted);cursor:pointer;line-height:0;transition:background-color .15s ease,color .15s ease;flex-shrink:0;margin:0}.theme-toggle button:hover{color:var(--text-primary)}.theme-toggle button.theme-toggle-active{background:var(--theme-toggle-active);color:var(--text-primary);box-shadow:0 1px 2px var(--shadow)}.theme-toggle svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.site-footer{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;background-color:var(--bg-page);z-index:20}.footer-link{color:var(--text-muted);font-family:jetbrains mono,fira code,sf mono,monospace;font-size:.75rem;text-decoration:none;transition:color .15s ease}.footer-link:hover{color:var(--text-primary)}.footer-sep{color:var(--border);font-size:.75rem}.terminal-hint{position:fixed;bottom:0;left:0;right:0;padding:10px 10px 46px;text-align:center;color:#6b7280;font-family:jetbrains mono,fira code,sf mono,monospace;font-size:.75rem;transition:opacity .3s ease;overflow:hidden;word-break:break-word}.column{display:flex;flex-direction:column}@media(max-width:600px){.container{padding:2px}.split-view{font-size:.75rem}.split-copy{font-size:.75rem}.terminal-welcome-art{font-size:.5rem}.terminal-body{font-size:.5rem;min-height:200px;max-height:400px}.terminal-prompt{max-width:333px}.terminal-window{font-size:.625rem;border-radius:6px;min-width:240px;width:calc(100% - 20px);max-width:100%;top:36%}.terminal-header{padding:4px 12px}.terminal-dot{width:16px;height:16px}.terminal-title{font-size:.45rem}.topnav-title{font-size:.6rem}.topnav-title--long{display:none}.topnav-links{gap:20px}.topnav-link{font-size:.6rem}.site-footer{gap:6px}.terminal-hint{font-size:.6rem}.terminal-output .line{margin:0}.terminal-output{padding:6px}}