:root{--bg:#ffffff;--text:#1a1a18;--muted:#6f6d64;--faint:#9a978c;--line:#e7eaee;--accent:#4e6a96;--accent-dim:#c2c6ce;--mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}#app{height:100%;overflow:hidden;position:relative}.cfg-btn{position:absolute;top:8px;right:10px;z-index:6;width:26px;height:26px;border-radius:7px;cursor:pointer;font-size:13px;line-height:1;color:var(--muted);background:var(--bg);border:1px solid var(--line);opacity:0;transition:opacity .15s,color .12s,border-color .12s}#app:hover .cfg-btn{opacity:.75}.cfg-btn:hover{opacity:1;color:var(--accent);border-color:var(--accent)}.viz{position:relative;height:100%;width:100%;overflow:hidden;padding:clamp(8px,2.4vmin,28px)}.canvas{width:100%;height:100%;display:block;cursor:pointer;user-select:none;-webkit-user-select:none}.canvas .lbl{fill:var(--text);font-family:var(--sans);pointer-events:none}.canvas .lbl{paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round}.canvas .val{fill:var(--muted)}.canvas .ribbon{transition:fill-opacity .1s ease;cursor:pointer}.canvas .node{cursor:pointer;transition:opacity .1s ease}#app.sm .canvas .val,#app.xs .canvas .val,#app.xs .canvas .lbl{display:none}.tip{position:absolute;z-index:4;pointer-events:none;background:#1a1a18;color:#f4f2ec;border-radius:6px;padding:6px 9px;font-family:var(--mono);font-size:10.5px;line-height:1.45;min-width:110px;max-width:200px;box-shadow:0 6px 18px #00000038}.tip .tt-k{color:#b9b6ac}.tip .tt-k b{color:#f4f2ec}.tip .tt-big{font-size:16px;font-weight:700;line-height:1.25;margin-top:1px}.tip .tt-sub{color:#b9b6ac;font-size:9.5px;line-height:1.3}.tip .tt-v{font-weight:600;margin-top:3px}.empty{height:100%;display:grid;place-items:center;padding:16px}.empty-card{text-align:center;max-width:300px;color:var(--muted)}.empty-mark{color:var(--accent);margin-bottom:10px;opacity:.85}.empty-card h1{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;font-size:26px;color:var(--text);margin:0 0 6px}.empty-card p{font-size:12.5px;line-height:1.55;margin:0}.empty-card b{color:var(--text)}
