@property --row{syntax:"<color>";inherits:true;initial-value:#0000}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f7f7f8;--dot:#14182429;--paper:#f7f7f8;--surface:#ffffffd1;--solid:#fff;--border:#14182417;--shadow:0 1px 2px #1418240d, 0 8px 24px #14182417;--ink:#1b1f27;--muted:#6b7280;--hover:#1418240f;--press:#1418241a;--accent:#3a6ff7;--accent-soft:#3a6ff71f;--err:#c92a2a;--add:#1a7f3724;--del:#c92a2a1f;--toast-bg:#1b1f27;--toast-ink:#f5f6f8;--toast-action:#9db8ff;--tk-key:#1f5fbf;--tk-keyword:#8250df;--tk-string:#1a7f37;--tk-arrow:#c2410c;--tk-number:#b45309;--tk-comment:#8a93a3;--tk-punct:#8a93a3;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Inter, Roboto, sans-serif;--ease:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111218;--dot:#ffffff1c;--paper:#111218;--surface:#1e1f28cc;--solid:#23242e;--border:#ffffff17;--shadow:0 1px 2px #0000004d, 0 10px 30px #0006;--ink:#e9eaf0;--muted:#9ba1b0;--hover:#ffffff12;--press:#ffffff1f;--accent:#7ba2ff;--accent-soft:#7ba2ff29;--err:#ff7b7b;--add:#5fd37f26;--del:#ff7b7b24;--toast-bg:#eceef4;--toast-ink:#14161c;--toast-action:#2f5fe0;--tk-key:#82aaff;--tk-keyword:#c3a6ff;--tk-string:#8bd49c;--tk-arrow:#ffb27a;--tk-number:#f2c46d;--tk-comment:#707789;--tk-punct:#707789}}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font:13px/1.4 var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior:none;--inset-r:0px;--inset-b:0px;margin:0;overflow:hidden}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.grow{flex:1}.surface{background:var(--surface);-webkit-backdrop-filter:blur(16px)saturate(1.4);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px}button,select{font:inherit;color:inherit}.icon-btn,.btn,.chip-btn,.menu-item,.toast-action{cursor:pointer;background:0 0;border:0;border-radius:8px;transition:background .12s}.icon-btn{width:32px;height:32px;color:var(--ink);place-items:center;padding:0;text-decoration:none;display:grid;position:relative}.icon-btn:hover:not(:disabled),.btn:hover,.chip-btn:hover,.menu-item:hover{background:var(--hover)}.icon-btn:active:not(:disabled),.btn:active,.menu-item:active{background:var(--press)}.icon-btn:disabled{opacity:.32;cursor:default}.btn{align-items:center;gap:6px;height:32px;padding:0 10px 0 8px;font-weight:500;display:inline-flex;position:relative}.btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}[data-tip]:after{content:attr(data-tip);background:var(--toast-bg);color:var(--toast-ink);font:500 12px/1.2 var(--sans);white-space:nowrap;pointer-events:none;opacity:0;z-index:40;border-radius:6px;padding:5px 8px;transition:opacity .12s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}[data-tip]:hover:after{opacity:1;transition-delay:.45s}[data-tip]:focus-visible:after{opacity:1}.zoom [data-tip]:after{top:auto;bottom:calc(100% + 10px)}.zoom #fit:after{left:auto;right:0;transform:none}@media (hover:none){[data-tip]:after{display:none}}.pill{z-index:10;align-items:center;gap:10px;height:40px;padding:0 4px 0 14px;display:flex;position:fixed;top:12px;left:12px}.logo{letter-spacing:.01em;font-size:15px;font-weight:700}.logo sup{margin-left:1px;font-size:.65em}.filename{text-overflow:ellipsis;white-space:nowrap;max-width:220px;color:var(--muted);overflow:hidden}.top-center{z-index:10;position:fixed;top:12px;left:50%;transform:translate(-50%)}.segmented{gap:2px;height:40px;padding:4px;display:flex}.chip-btn{height:30px;color:var(--muted);white-space:nowrap;padding:0 12px;font-weight:500}.chip-btn[aria-checked=true]{background:var(--solid);color:var(--ink);box-shadow:0 0 0 1px var(--border), 0 1px 3px #1418241a}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ba1b0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;height:40px;padding:0 34px 0 14px;font-weight:500;display:none}.select option{background:var(--solid);color:var(--ink)}@media (max-width:1080px){#chips{display:none}.select{display:block}}.toolbar{z-index:11;align-items:center;gap:2px;height:40px;padding:0 4px;display:flex;position:fixed;top:12px;right:12px}.sep{background:var(--border);width:1px;height:18px;margin:0 4px}.menu{z-index:12;background:var(--solid);width:272px;padding:6px;position:fixed;top:60px;right:12px}.menu-item{text-align:left;align-items:center;width:100%;height:34px;padding:0 10px;display:flex}.menu hr{background:var(--border);border:0;height:1px;margin:5px 4px}.menu-row{justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:0 4px 0 10px;display:flex}#dir-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mini-seg{gap:2px;display:flex}.mini-seg .menu-item{width:30px;height:30px;color:var(--muted);place-items:center;padding:0;display:grid;position:relative}.mini-seg .menu-item svg{width:16px;height:16px}.hint{bottom:calc(var(--inset-b) + 20px);left:calc((100% - var(--inset-r)) / 2);z-index:9;width:max-content;max-width:calc(100vw - 32px);color:var(--muted);text-align:center;transition:opacity .4s, bottom .26s var(--ease), left .26s var(--ease);padding:9px 16px;position:fixed;transform:translate(-50%)}.hint.gone,body.toasting .hint{opacity:0;pointer-events:none}.zoom{right:calc(var(--inset-r) + 16px);bottom:calc(var(--inset-b) + 16px);z-index:9;height:40px;transition:right .26s var(--ease), bottom .26s var(--ease);align-items:center;padding:0 4px;display:flex;position:fixed}.zoom .icon-btn{width:30px;height:30px}.zoom-level{min-width:46px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center}.toast{bottom:calc(var(--inset-b) + 20px);left:calc((100% - var(--inset-r)) / 2);z-index:30;background:var(--toast-bg);width:max-content;max-width:calc(100vw - 32px);color:var(--toast-ink);opacity:0;transition:opacity .2s, transform .2s var(--ease), left .26s var(--ease), bottom .26s var(--ease);border-color:#0000;padding:10px 16px;font-weight:500;position:fixed;transform:translate(-50%,10px)}.toast.show{opacity:1;transform:translate(-50%)}.toast.error{background:var(--err);color:#fff}.toast-action{color:var(--toast-action);text-underline-offset:3px;padding:0 2px;font-weight:600;text-decoration:underline}.toast-action:hover{background:0 0}.code{z-index:8;width:var(--code-w,440px);background:color-mix(in srgb, var(--solid) 94%, transparent);--panel:color-mix(in srgb, var(--solid) 94%, var(--bg));visibility:hidden;transition:transform .28s var(--ease), visibility 0s .28s;flex-direction:column;display:flex;position:fixed;top:64px;bottom:12px;right:12px;transform:translate(calc(100% + 24px))}.code.open{visibility:visible;transition:transform .28s var(--ease);transform:none}.code.resizing{transition:none}.grip{z-index:2;cursor:ew-resize;touch-action:none;width:12px;position:absolute;top:0;bottom:0;left:-6px}.grip:after{content:"";background:var(--muted);opacity:0;border-radius:2px;width:4px;height:40px;margin-top:-20px;transition:opacity .15s;position:absolute;top:50%;left:4px}.grip:hover:after,.grip:focus-visible:after,.code.resizing .grip:after{opacity:.55}.code-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;height:42px;padding:0 6px 0 14px;display:flex}.code-title{font-weight:600}#code-note{color:var(--accent);font-weight:500}.code-scroll{scrollbar-width:thin;overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.code-stack{min-width:max-content;min-height:100%;position:relative}.code-lines,.code-input{font:12.5px/20px var(--mono);font-variant-ligatures:none;letter-spacing:0;tab-size:2;margin:0}.code-lines{padding:10px 0}.code-input{resize:none;color:#0000;width:100%;height:100%;caret-color:var(--ink);white-space:pre;background:0 0;border:0;outline:0;padding:10px 16px 10px 54px;position:absolute;inset:0;overflow:hidden}.code-input::selection{background:var(--accent-soft);color:#0000}.code.pending .code-input,.code.readonly .code-input{display:none}.ln{white-space:pre;--row:var(--panel);background:var(--row);min-height:20px;padding-right:16px;display:flex}.ln .n{z-index:1;background:var(--row);width:44px;color:var(--muted);opacity:.7;text-align:right;-webkit-user-select:none;user-select:none;flex:none;padding-right:12px;position:sticky;left:0}.ln .t{padding-left:10px}.ln.pos .t{opacity:.4}.ln.hl{animation:2.6s ease-out both flash}.ln.add{--row:color-mix(in srgb, var(--panel), var(--tk-string) 16%)}.ln.del{--row:color-mix(in srgb, var(--panel), var(--err) 14%)}.ln.del .t{opacity:.7;text-decoration:line-through;text-decoration-thickness:1px}.ln.add .n{color:var(--tk-string);opacity:1}.ln.del .n{color:var(--err);opacity:1}.ln.gap,.ln.note{color:var(--muted);font-style:italic}.ln.err{--row:color-mix(in srgb, var(--panel), var(--err) 14%)}.ln.err .t{-webkit-text-decoration:underline wavy var(--err);text-decoration:underline wavy var(--err);text-underline-offset:3px}@keyframes flash{0%,45%{--row:color-mix(in srgb, var(--panel), var(--accent) 24%)}to{--row:var(--panel)}}.tk-key{color:var(--tk-key)}.tk-keyword{color:var(--tk-keyword)}.tk-string{color:var(--tk-string)}.tk-arrow{color:var(--tk-arrow)}.tk-number{color:var(--tk-number)}.tk-comment{color:var(--tk-comment);font-style:italic}.tk-punct{color:var(--tk-punct)}.code-error{border-top:1px solid var(--border);background:var(--del);max-height:110px;color:var(--err);font:12px/1.5 var(--mono);white-space:pre-wrap;padding:9px 14px;overflow:auto}@media (max-width:700px){.pill #tagline{display:none}.filename{max-width:130px}.top-center{top:60px}.select{height:36px}.toolbar .btn span{display:none}.toolbar .btn{justify-content:center;width:32px;padding:0}.menu{width:min(272px,100vw - 24px);top:60px}.zoom{left:12px;right:auto;bottom:calc(var(--inset-b) + 16px)}body.hint-on .zoom{bottom:calc(var(--inset-b) + 84px)}.hint{left:50%;bottom:calc(var(--inset-b) + 16px)}.toast{left:50%;bottom:calc(var(--inset-b) + 76px)}.code{width:auto;height:var(--code-h,45vh);inset:auto 8px 8px;transform:translateY(calc(100% + 24px))}.grip{cursor:ns-resize;width:auto;height:16px;inset:-7px 0 auto}.grip:after{opacity:.45;width:40px;height:4px;margin:0 0 0 -20px;top:8px;left:50%}}#editor{opacity:0;transition:opacity .45s ease-out;position:fixed;inset:0}body[data-ready] #editor{opacity:1}.loading{z-index:50;background:var(--bg);place-items:center;transition:opacity .35s ease-out;display:grid;position:fixed;inset:0}.loading.done{opacity:0;pointer-events:none}.loading-card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:min(300px,80vw);display:flex}.loading-text{font-size:14px;font-weight:500}.bar{background:var(--press);border-radius:2px;width:100%;height:4px;overflow:hidden}.bar-fill{background:var(--accent);transform-origin:0;border-radius:2px;width:100%;height:100%;transition:transform .2s linear;transform:scaleX(0)}.bar-fill.indeterminate{width:40%;animation:1.1s ease-in-out infinite slide;transform:none}@keyframes slide{0%{margin-left:-40%}to{margin-left:100%}}.d2-root{display:block}.d2-stage{background-color:var(--bg);background-image:radial-gradient(circle, var(--dot) 1.1px, transparent 1.5px);background-size:var(--grid,24px) var(--grid,24px);background-position:var(--grid-x,0) var(--grid-y,0);touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.d2-stage.hand{cursor:grab}.d2-stage.panning,.d2-stage.dragging{cursor:grabbing}.d2-scene{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}.d2-scene.dragging{shape-rendering:optimizespeed;text-rendering:optimizespeed}.d2-scene .l-drag,.d2-scene .l-sel,.d2-scene .l-ui{pointer-events:none}.l-ui .end-dot{fill:var(--accent);stroke:var(--paper);stroke-width:2px;vector-effect:non-scaling-stroke}.l-ui .end-dot.faint{opacity:.4;stroke-width:1.5px}.l-ui .fan-bar{stroke:var(--accent);stroke-linecap:round;opacity:.14}.l-ui .hover-box{fill:none;stroke:var(--accent);stroke-width:1.5px;opacity:.35;vector-effect:non-scaling-stroke}.l-sel .sel-box{fill:none;stroke:var(--accent);stroke-width:1.5px;opacity:.75;vector-effect:non-scaling-stroke}.l-sel .handle{fill:var(--paper);stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.d2-scene.dragging .l-sel .handle{display:none}.l-ui .resize-box{fill:color-mix(in srgb, var(--accent) 10%, transparent);stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.d2-stage.resizing{cursor:nwse-resize}.d2-action{z-index:15;color:var(--ink);font:600 12.5px/1.3 var(--sans);cursor:pointer;will-change:transform;border-radius:999px;padding:6px 12px;position:fixed;top:0;left:0}.d2-action:hover{color:var(--accent);border-color:var(--accent)}.d2-action[hidden]{display:none}.l-ui .target{fill:color-mix(in srgb, var(--accent) 12%, transparent);stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.l-ui .landing{fill:color-mix(in srgb, var(--accent) 9%, transparent);stroke:var(--accent);stroke-width:1.5px;opacity:.55;vector-effect:non-scaling-stroke;animation:.16s ease-out ghost-in}@keyframes ghost-in{0%{opacity:0}}.l-ui .row{fill:color-mix(in srgb, var(--accent) 28%, transparent)}.l-drag .lift{filter:drop-shadow(0 12px 16px #14182438)drop-shadow(0 2px 3px #1418242e)}.d2-tip{z-index:20;background:var(--accent);color:#fff;font:600 12.5px/1.3 var(--sans);white-space:nowrap;pointer-events:none;will-change:transform;border-radius:999px;padding:5px 11px;position:fixed;top:0;left:0;box-shadow:0 4px 14px #14182447}@media (prefers-color-scheme:dark){.d2-tip{color:#0d1220}.l-drag .lift{filter:drop-shadow(0 12px 16px #00000080)drop-shadow(0 2px 3px #0006)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important}}
