.jg-ascii,.jg-ascii *,.jg-ascii :before,.jg-ascii :after{box-sizing:border-box}.jg-ascii{--bg:#08080a;--surface:#101013;--surface-2:#17171c;--line:#26262e;--text:#f2f2f5;--muted:#8e8e99;--accent:#ffbf00;--accent-ink:#1a1200;--art:var(--text);--radius:14px;--art-size:11px;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-art:"Cascadia Mono", "Cascadia Code", "DejaVu Sans Mono", "Segoe UI Mono", "SF Mono", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;border:1px solid var(--line);border-radius:18px;font-size:15px;line-height:1.55;overflow:clip}.jg-ascii[data-theme=paper]{--bg:#f6f6f4;--surface:#fff;--surface-2:#eeeeea;--line:#dcdcd6;--text:#16161a;--muted:#6c6c74;--accent:#a06a00;--accent-ink:#fffaf0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.jg-ascii[data-theme=terminal]{--bg:#000600;--surface:#030d03;--surface-2:#061806;--line:#0d3d0d;--text:#4dff88;--muted:#2b8f4d;--accent:#9dff4d;--accent-ink:#001a06;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.jg-ascii[data-theme=amber]{--bg:#0d0700;--surface:#150d02;--surface-2:#1e1404;--line:#3d2a06;--text:#ffb000;--muted:#9c6c05;--accent:#ffd98a;--accent-ink:#1a0f00;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.jg-ascii[data-theme=synth]{--bg:#100523;--surface:#180a33;--surface-2:#220e45;--line:#3d1a6b;--text:#f2e9ff;--muted:#9d7fc4;--accent:#ff4fd8;--accent-ink:#1a0033;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.jg-ascii h2,.jg-ascii h3{letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.2}.jg-ascii a{color:inherit}.jg-ascii .wrap{max-width:1240px;margin:0 auto;padding:0 20px}.jg-ascii .toolhead{background:color-mix(in srgb, var(--bg) 88%, transparent);border-bottom:1px solid var(--line)}.jg-ascii .toolhead-inner{flex-wrap:wrap;align-items:center;gap:14px;min-height:58px;padding-top:8px;padding-bottom:8px;display:flex}.jg-ascii .navlinks{scrollbar-width:none;flex:1;gap:2px;min-width:0;display:flex;overflow-x:auto}.jg-ascii .navlinks::-webkit-scrollbar{display:none}.jg-ascii .navlinks a{color:var(--muted);white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:13px;text-decoration:none}.jg-ascii .navlinks a:hover{color:var(--text);background:var(--surface-2)}.jg-ascii .toolhead-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (max-width:640px){.jg-ascii .toolhead-inner{gap:8px}.jg-ascii .navlinks{flex-basis:100%}}.jg-ascii select,.jg-ascii input[type=text],.jg-ascii input[type=search]{appearance:none;background:var(--surface-2);color:var(--text);border:1px solid var(--line);font:inherit;border-radius:9px;max-width:100%;padding:7px 10px;font-size:13px}.jg-ascii select:focus-visible,.jg-ascii input:focus-visible,.jg-ascii button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.jg-ascii input[type=range]{accent-color:var(--accent);width:100%}.jg-ascii .btn{appearance:none;background:var(--surface-2);color:var(--text);border:1px solid var(--line);font:inherit;cursor:pointer;white-space:nowrap;border-radius:9px;padding:7px 12px;font-size:13px;font-weight:600;transition:background .12s,color .12s}.jg-ascii .btn:hover{background:var(--line)}.jg-ascii .btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.jg-ascii .btn.primary:hover{filter:brightness(1.08)}.jg-ascii .btn.is-copied{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.jg-ascii .chip{appearance:none;border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600}.jg-ascii .chip:hover{color:var(--text);border-color:var(--muted)}.jg-ascii .chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.jg-ascii .wordbar{z-index:30;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 20px;display:flex;position:sticky;top:0}.jg-ascii .wordbar input[type=text]{flex:1;min-width:150px;font-size:14px}.jg-ascii .hero{border-bottom:1px solid var(--line);padding-top:26px;padding-bottom:30px}.jg-ascii .hero-art{margin-bottom:26px;overflow-x:auto}.jg-ascii .hero-stats{flex-wrap:wrap;gap:26px;margin-top:22px;display:flex}.jg-ascii .stat b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;display:block}.jg-ascii .stat span{color:var(--muted);font-size:12px}.jg-ascii section{border-bottom:1px solid var(--line);padding:44px 0}.jg-ascii .sec-head{margin-bottom:22px}.jg-ascii .sec-head h2{margin-bottom:6px;font-size:23px}.jg-ascii .sec-head p{color:var(--muted);max-width:70ch;margin:0}.jg-ascii pre.art{font-family:var(--font-art);font-size:var(--art-size);white-space:pre;color:var(--art);tab-size:4;letter-spacing:0;margin:0;line-height:1.162}.jg-ascii .art-scroll{padding:2px 0;overflow:auto hidden}.jg-ascii[data-ink=accent] pre.art{--art:var(--accent)}.jg-ascii[data-ink=gradient] pre.art,.jg-ascii[data-ink=rainbow] pre.art{background-image:linear-gradient(96deg, var(--accent), var(--text) 55%, var(--accent));color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text}.jg-ascii[data-ink=rainbow] pre.art{background-image:linear-gradient(96deg,#ff4d6d,#ffbf00,#4dff88,#4dd2ff,#b44dff,#ff4d6d);background-size:280% 100%;animation:7s linear infinite jg-ascii-slide}.jg-ascii[data-anim=shimmer] pre.art{background-image:linear-gradient(96deg, var(--art) 20%, var(--accent) 50%, var(--art) 80%);color:#0000;background-size:240% 100%;-webkit-background-clip:text;background-clip:text;animation:4.5s linear infinite jg-ascii-slide}.jg-ascii[data-anim=flicker] pre.art{animation:3.4s step-end infinite jg-ascii-flicker}.jg-ascii[data-anim=breathe] pre.art{animation:4s ease-in-out infinite jg-ascii-breathe}@keyframes jg-ascii-slide{to{background-position:220% 0}}@keyframes jg-ascii-flicker{0%,to{opacity:1}42%{opacity:1}43%{opacity:.45}44%{opacity:1}72%{opacity:1}73%{opacity:.6}74%{opacity:1}}@keyframes jg-ascii-breathe{0%,to{opacity:.72}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.jg-ascii pre.art{animation:none!important}}.jg-ascii .grid{gap:12px;display:grid}.jg-ascii .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:14px 16px}.jg-ascii .card-head{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.jg-ascii .card-title{letter-spacing:-.01em;font-size:13px;font-weight:700}.jg-ascii .card-hint{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.jg-ascii .card-actions{flex-shrink:0;gap:6px;display:flex}.jg-ascii .iconbtn{appearance:none;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;place-items:center;width:28px;height:26px;padding:0;font-size:12px;line-height:1;display:grid}.jg-ascii .iconbtn:hover{color:var(--text);border-color:var(--muted)}.jg-ascii .iconbtn.is-copied{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.jg-ascii .grid.virtual{overflow-anchor:none;contain:layout style;display:block;position:relative}.jg-ascii .grid.virtual>.card{contain:layout style paint}.jg-ascii .uni{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;gap:12px;min-width:0;padding:11px 14px;display:flex}.jg-ascii .uni-meta{flex-shrink:0;width:172px}.jg-ascii .uni-meta b{font-size:12px;font-weight:700;display:block}.jg-ascii .uni-meta span{color:var(--muted);font-size:11px;line-height:1.35;display:block}.jg-ascii .uni-out{white-space:nowrap;scrollbar-width:thin;min-width:0;color:var(--art);flex:1;font-size:19px;line-height:1.9;overflow-x:auto}.jg-ascii .uni-out.mono{font-family:var(--font-art);font-size:14px}.jg-ascii .lab{grid-template-columns:268px 1fr;align-items:start;gap:16px;display:grid}@media (max-width:900px){.jg-ascii .lab{grid-template-columns:1fr}.jg-ascii .uni{flex-wrap:wrap}.jg-ascii .uni-meta{width:100%}}.jg-ascii .panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;position:sticky;top:74px}.jg-ascii .field{margin-bottom:11px}.jg-ascii .field>label{text-transform:none;color:var(--muted);justify-content:space-between;align-items:baseline;margin-bottom:5px;font-size:11px;font-weight:700;display:flex}.jg-ascii .field>label var{font-variant-numeric:tabular-nums;color:var(--text);font-style:normal}.jg-ascii .field select,.jg-ascii .field input[type=text]{width:100%}.jg-ascii .toggles{flex-wrap:wrap;gap:6px;display:flex}.jg-ascii .stage{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:16px}.jg-ascii .stage-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.jg-ascii .stage-bar .spacer{flex:1}.jg-ascii .stage-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.jg-ascii .stage .art-scroll{align-items:center;min-height:330px;display:flex}.jg-ascii .stage pre.art{font-size:calc(var(--art-size) * 1.3)}.jg-ascii .toolrow{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.jg-ascii .toolrow input[type=search]{flex:1;min-width:200px}.jg-ascii .empty{color:var(--muted);padding:20px 0;font-size:13px}.jg-ascii .viewer{z-index:1200;background:var(--bg);flex-direction:column;display:none;position:fixed;inset:0}.jg-ascii .viewer.is-open{display:flex}.jg-ascii .viewer-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;display:flex}.jg-ascii .viewer-bar .spacer{flex:1}.jg-ascii .viewer-title{font-size:14px;font-weight:700}.jg-ascii .viewer-body{flex:1;place-items:safe center;padding:24px;display:grid;overflow:auto}.jg-ascii .viewer-body pre.art{font-size:var(--viewer-size,16px)}.jg-ascii .viewer-body.marquee{place-items:center start;overflow:hidden}.jg-ascii .viewer-body.marquee pre.art{animation:16s linear infinite jg-ascii-marquee}@keyframes jg-ascii-marquee{0%{transform:translate(60vw)}to{transform:translate(-100%)}}.jg-ascii .foundry-notes{color:var(--muted);padding-top:34px;padding-bottom:44px;font-size:12px}.jg-ascii .foundry-notes p{margin:0 0 10px}.jg-ascii .foundry-notes code{font-family:var(--font-art);background:var(--surface-2);border-radius:5px;padding:1px 5px}.jg-ascii .sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.jg-ascii .toast{background:var(--accent);color:var(--accent-ink);opacity:0;pointer-events:none;z-index:1300;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:700;transition:opacity .16s,transform .16s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px)}.jg-ascii .toast.show{opacity:1;transform:translate(-50%)}