:root{--accent:#047857;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--surface:#fff;--ground:#f6f7f8;--danger:#b91c1c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--ground);font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{-webkit-text-size-adjust:100%;margin:0;font-size:15px;line-height:1.5}.app{max-width:68rem;margin:0 auto;padding:1.5rem 1rem 4rem}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:1rem;display:flex}h1{letter-spacing:.02em;margin:0;font-size:1.1rem}h1 a{color:var(--ink);text-decoration:none}h2{margin:0 0 .75rem;font-size:.95rem}main{flex-direction:column;gap:1rem;padding-top:1rem;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1rem}.card-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.card-head h2{margin:0}.muted{color:var(--muted);margin:.5rem 0 0}.error{color:var(--danger);margin:.5rem 0 0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.wrap{overflow-wrap:anywhere;min-width:0}button,.button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;min-height:2.25rem;padding:.45rem .9rem;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:default}button.link,a.link{color:var(--accent);text-align:left;cursor:pointer;background:0 0;border:0;min-height:0;padding:0;text-decoration:underline}a.back{display:inline-block}input{font:inherit;border:1px solid var(--line);background:#fff;border-radius:6px;flex:12rem;min-width:0;min-height:2.25rem;padding:.45rem .6rem}.row{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.gate{max-width:32rem}.who{overflow-wrap:anywhere;align-items:baseline;gap:.75rem;min-width:0;display:flex}.drop{border:1px dashed var(--line);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:.75rem;padding:1.75rem 1rem;display:flex}.drop.dragging{border-color:var(--accent);background:#ecfdf5}.drop p{color:var(--muted);margin:0}.progress{background:var(--line);border-radius:999px;height:6px;margin-top:.75rem;overflow:hidden}.progress span{background:var(--accent);height:100%;transition:width .15s linear;display:block}.facts{grid-template-columns:9rem 1fr;gap:.25rem 1rem;margin:.75rem 0;display:grid}.facts .contents{display:contents}.facts dt{color:var(--muted)}.facts dd{min-width:0;margin:0}.scroll{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:.5rem .6rem .5rem 0}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}tbody tr{cursor:pointer}tr.total td{cursor:default;font-weight:600}tr.part td:first-child{padding-left:1.5em}.badge{border:1px solid var(--line);color:var(--muted);background:var(--ground);border-radius:999px;padding:.05rem .5rem;font-size:.78rem;display:inline-block}.badge.running{border-color:var(--accent);color:var(--accent);background:#ecfdf5}.badge.done{border-color:var(--accent);color:#fff;background:var(--accent)}.badge.failed{border-color:var(--danger);color:#fff;background:var(--danger)}.outputs td{vertical-align:top}.outputs td:nth-child(2){white-space:nowrap}.outputs a{color:var(--accent)}.frag-source{gap:.4rem;display:flex}@media (width<=640px){.outputs,.outputs tbody{display:block}.outputs thead{display:none}.outputs tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:.15rem .75rem;padding:.6rem 0;display:grid}.outputs td{white-space:normal;overflow-wrap:anywhere;border:0;padding:0}.outputs td:nth-child(3),.outputs td:nth-child(4){grid-column:1/-1}.outputs td:nth-child(3){color:var(--muted);font-size:.85rem}}@media (width<=800px){.app{padding:1rem .75rem 3rem}.facts{grid-template-columns:7rem 1fr}.hide-sm{display:none}}.app.wide{max-width:none}.viewer{grid-template-columns:minmax(0,1fr) 21rem;gap:1rem;height:calc(100dvh - 13rem);min-height:26rem;display:grid}.viewer-stage{border:1px solid var(--line);background:#eef1f4;border-radius:8px;min-width:0;position:relative;overflow:hidden}.viewer-canvas{touch-action:none;width:100%;height:100%;display:block}.viewer-overlay{text-align:center;background:#f6f7f8eb;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:1.5rem;display:flex;position:absolute;inset:0}.viewer-overlay .progress{width:min(22rem,80%)}.viewer-hud,.viewer-tools{border:1px solid var(--line);background:#ffffffe0;border-radius:6px;position:absolute}.viewer-hud{color:var(--muted);max-width:calc(100% - 1rem);padding:.2rem .5rem;font-size:.75rem;top:.5rem;left:.5rem}.viewer-tools{background:0 0;border:0;gap:.4rem;padding:.4rem;display:flex;bottom:.5rem;left:.5rem}.viewer-tools button{min-height:2.1rem;padding:.35rem .7rem;font-size:.85rem}button.ghost{color:var(--accent);background:#ffffffeb}.viewer-side{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.viewer-tabs{border-bottom:1px solid var(--line);gap:.4rem;padding:.6rem;display:flex}.viewer-tabs button{flex:1;min-height:2.1rem;padding:.35rem .6rem;font-size:.85rem}.viewer-panel{-webkit-overflow-scrolling:touch;padding:.85rem;overflow-y:auto}.viewer-panel .facts{grid-template-columns:7.5rem 1fr;font-size:.9rem}.storeys{margin:0;padding:0;list-style:none}.storeys label{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.3rem 0;display:grid}.storeys input{width:1.05rem;height:1.05rem;min-height:0;accent-color:var(--accent);flex:none;padding:0}.tree-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tree{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex:1;min-height:0;position:relative;overflow-y:auto}.tree>div{position:relative}.tree-row{white-space:nowrap;align-items:center;gap:.3rem;font-size:.85rem;display:flex;position:absolute;left:0;right:0}.tree-row.dim .tree-label{color:var(--muted);text-decoration:line-through}.tree-row.selected{background:#f9731624}.tree-row.isolated{background:#2563eb1f}.tree-row input{width:.95rem;height:.95rem;min-height:0;accent-color:var(--accent);flex:none;margin:0;padding:0}.tree-caret,.tree-label{min-height:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.tree-caret{width:1rem;color:var(--muted);flex:none}.tree-label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tree-row .mono{padding-right:.4rem;font-size:.75rem}.tree-note{margin:.4rem 0;font-size:.8rem}.pset{border-top:1px solid var(--line);margin-top:.9rem;padding-top:.6rem}.pset h3{margin:0;font-size:.85rem}.pset.tagged h3{color:var(--accent)}.pset .facts{grid-template-columns:minmax(6rem,1fr) minmax(0,1fr);font-size:.85rem}.viewer-modes{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.viewer-modes button{min-height:2.1rem;padding:.35rem .8rem;font-size:.85rem}.viewer-modes .error{margin:0}h3.section{border-top:1px solid var(--line);color:var(--muted);margin:1.25rem 0 0;padding-top:.75rem;font-size:.85rem}.job-progress{min-width:8rem}.job-progress .bar{background:var(--line);border-radius:999px;height:4px;margin-top:.3rem;overflow:hidden}.job-progress.large .bar{height:10px;margin-top:.75rem}.job-progress .bar span{background:var(--accent);height:100%;transition:width .4s;display:block}.job-progress.failed .bar span{background:var(--danger)}.job-progress .bar.indeterminate span{width:35%;animation:1.2s ease-in-out infinite job-progress-slide}.job-progress-label{color:var(--muted);justify-content:space-between;gap:.5rem;margin-top:.2rem;font-size:.75rem;display:flex}.job-progress.large .job-progress-label{font-size:.85rem}.job-progress.failed .job-progress-label{color:var(--danger)}@keyframes job-progress-slide{0%{transform:translate(-100%)}to{transform:translate(290%)}}@media (prefers-reduced-motion:reduce){.job-progress .bar.indeterminate span{opacity:.4;width:100%;animation:none}}.viewer-menu,.viewer-peek,.viewer-backdrop,.viewer-drawer-head{display:none}@media (pointer:coarse){.viewer-modes button,.viewer-tools button,.viewer-tabs button{min-width:2.75rem;min-height:2.75rem}.tree-caret{align-self:stretch;width:2rem}.tree-row input{width:1.25rem;height:1.25rem}}@media (width<=900px){.app.wide{height:100dvh;padding:max(.5rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left));flex-direction:column;display:flex;overflow:hidden}.app.wide header{padding-bottom:.4rem}.app.wide h1{font-size:1rem}.app.wide main{flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;min-height:0;padding-top:.5rem;display:grid}.app.wide main>:not(.back,.viewer-modes){grid-column:1/-1}.app.wide a.back{justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;font-size:1.2rem;text-decoration:none;display:inline-flex}.back-label{display:none}.viewer-modes{scrollbar-width:none;flex-wrap:nowrap;min-width:0;overflow-x:auto}.viewer-modes button{flex:none}.viewer{align-self:stretch;height:auto;min-height:0;display:block;position:relative}.viewer-stage{touch-action:none;height:100%}.viewer-hud{pointer-events:none;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:calc(100% - 4.25rem);font-size:.7rem;display:-webkit-box;overflow:hidden}.viewer-tools{flex-wrap:wrap;padding:0;right:.5rem}.viewer:has(.viewer-peek) .viewer-tools{bottom:4.25rem}.viewer-menu{z-index:2;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;display:inline-flex;position:absolute;top:.5rem;right:.5rem}.viewer-peek{z-index:2;border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:.5rem;padding:.4rem .4rem .4rem .75rem;display:flex;position:absolute;bottom:.5rem;left:.5rem;right:.5rem}.viewer-peek-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.viewer-peek button{flex:none;min-height:2.75rem}.viewer-backdrop{z-index:19;opacity:0;pointer-events:none;background:#11182759;transition:opacity .2s;display:block;position:fixed;inset:0}.viewer-backdrop.shown{opacity:1;pointer-events:auto}.viewer-side{z-index:20;width:min(24rem,100vw - 3rem);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) 0;touch-action:pan-y;visibility:hidden;border-width:0 0 0 1px;border-radius:0;transition:transform .2s,visibility 0s linear .2s;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.viewer-side.drawer-open{visibility:visible;transition:transform .2s;transform:none}.viewer-drawer-head{justify-content:space-between;align-items:center;padding:.35rem .35rem 0 .85rem;font-size:.9rem;font-weight:600;display:flex}.viewer-drawer-head button{border-color:#0000;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;display:inline-flex}.viewer-tabs button{min-height:2.75rem;padding:.35rem .4rem}}@media (width<=900px) and (prefers-reduced-motion:reduce){.viewer-side,.viewer-side.drawer-open,.viewer-backdrop{transition:none}}
