:root{color-scheme:light dark;--bg:#fafafa;--fg:#20232a;--muted:#737781;--line:#dedfe3;--surface:#fff;--red:#c35059;--gold:#a17c23;--green:#298d79;--purple:#7565be;--node:#444b59}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;color:var(--fg)}@media(prefers-color-scheme:dark){:root{--bg:#090a0c;--fg:#f2f3f5;--muted:#868b96;--line:#292c33;--surface:#13151a;--red:#ef797b;--gold:#dbb75d;--green:#76cebb;--purple:#9a98ef;--node:#e4e7ef}}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer;min-height:44px;padding:0 10px}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:3px}[hidden]{display:none!important}#app{height:100dvh;width:100%;position:relative;padding:env(safe-area-inset-top) max(20px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));display:flex;flex-direction:column;max-width:1200px;margin:auto}#space{flex:1 1 0;min-height:100px;position:relative;margin:0 -12px}#graph{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;user-select:none;overflow:hidden}.view-meta,#binary,#hint{display:none}#details{width:100%;max-width:440px;margin:0 auto;flex-shrink:0}.type-row{display:flex;align-items:center;gap:8px;padding-bottom:4px}.type-select{position:relative;display:flex;align-items:center}.type-select select{appearance:none;background:none;border:0;font-size:18px;font-weight:500;letter-spacing:.2px;padding:0 22px 0 0;height:44px;cursor:pointer}.type-select span{color:var(--muted);position:absolute;right:0;pointer-events:none;font-size:14px}select option{background:var(--surface);font-size:18px}#expand{margin-left:auto;font-size:24px;letter-spacing:2px;padding-right:0;width:44px;color:var(--muted)}#clear{font-size:24px;color:var(--muted)}#detail-content{border-top:1px solid var(--line);padding:10px 0 0}.stack{display:flex;margin:4px 0 8px}.function{flex:1;display:flex;align-items:baseline;gap:6px;font-size:18px}.function small{font-size:12px;color:var(--muted)}.function.dim{opacity:.3}nav{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);gap:8px}nav button{padding:0;min-height:42px;font-size:14px;color:var(--muted);position:relative;white-space:nowrap}nav button.active{color:var(--fg)}nav button.active:after{content:"";position:absolute;bottom:-1px;height:1px;left:0;right:0;background:var(--fg)}#relation{min-height:82px;padding-top:10px;font-size:14px}.chips{display:flex;gap:12px;align-items:center;margin-bottom:4px}.chips button{min-height:32px;padding:0;font-size:14px;color:var(--fg)}.relation-note{font-size:12px;color:var(--muted);line-height:1.5}.comparison{font-size:16px;margin-bottom:7px}.comparison span{color:var(--muted)}#axes{display:flex;justify-content:space-between;border-top:1px solid var(--line)}#axes button{font-size:12px;padding:0;min-height:36px;display:flex;align-items:center;gap:7px}#axes i{width:14px;height:2px;background:var(--axis);display:inline-block}#axes button.off{opacity:.3}.space-actions{float:right;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}#rotate{font-size:22px}header{display:flex;align-items:center;height:44px;font-size:13px;color:var(--muted)}header a{padding:12px 0}header a span{display:none}.header-actions{display:flex;margin-left:16px}#info{font-size:14px}dialog{background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:16px;padding:24px;max-width:440px;width:calc(100% - 32px);max-height:85dvh;overflow:auto}dialog::backdrop{background:#0005;backdrop-filter:blur(8px)}dialog h1{font-size:26px;font-weight:500;letter-spacing:-1px}dialog p{font-size:16px;line-height:1.55;color:var(--muted)}dialog a{text-decoration:underline;font-size:14px}dialog #close{float:right;font-size:26px}dialog .install{font-size:13px}@media(min-width:760px){#app{padding-top:20px;padding-bottom:24px}}@media(orientation:landscape) and (max-height:550px){#app:has(#detail-content:not([hidden])){flex-direction:row;gap:24px}#space{min-width:0}#details{max-width:340px;align-self:flex-end}#detail-content{max-height:75dvh;overflow:auto}}@media(min-height:650px){#detail-content{padding-bottom:4px}}

#dimension{margin-left:auto;font-size:13px;color:var(--muted);min-width:44px;padding:0}#expand{margin-left:0}#partner{font-size:14px;color:var(--muted);white-space:nowrap;order:1}#clear{order:2}#insight{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 12px;max-width:42ch}#stack button{flex:1;text-align:left;font-size:16px;padding:0;min-height:32px}#relation{min-height:74px}#geometry{padding-left:0;font-size:13px}#home{font-size:16px}#space [data-node]{cursor:pointer}#space [data-node]:focus-visible{outline:none}#space [data-node]:focus-visible text{text-decoration:underline}
#read-handle{display:flex;align-items:center;justify-content:center;width:100%;height:28px;min-height:28px;padding:0;touch-action:none}#read-handle span{width:30px;height:3px;background:var(--line);border-radius:2px}#group-toggle{margin-left:auto;font-size:13px;color:var(--muted);padding:0 6px}#group-toggle[aria-expanded=true]{color:var(--fg)}#dimension{margin-left:0}#partner{order:0}#group-panel{border-top:1px solid var(--line);padding:6px 0 10px}.group-toolbar{display:flex;align-items:center;justify-content:space-between}.group-toolbar select{font:inherit;font-size:14px;border:0;background:transparent;max-width:75%;min-height:38px}.group-toolbar button{font-size:12px;color:var(--muted);padding-right:0}#group-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px 8px}#group-options button{padding:0;min-height:38px;font-size:14px;text-align:left;color:var(--muted);display:flex;align-items:center;gap:6px}#group-options button::before{content:'';width:5px;height:5px;border:1px solid var(--group-color);border-radius:50%;flex-shrink:0}#group-options button[aria-pressed=true]{color:var(--fg)}#group-options button[aria-pressed=true]::before{background:var(--group-color)}#insight{cursor:pointer;touch-action:pan-x}#reader{inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;padding:0;background:var(--bg);overflow:hidden}#reader[open]{display:flex;flex-direction:column}#reader::backdrop{background:var(--bg)}#reader-grip{padding:env(safe-area-inset-top) 20px 0;flex-shrink:0;text-align:right;touch-action:none}#reader-close{font-size:26px;color:var(--muted)}#reader-article{overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 28px max(40px,env(safe-area-inset-bottom));width:100%;max-width:640px;margin:0 auto}#reader-title{font-size:44px;line-height:1.08;letter-spacing:-1.6px;font-weight:450;margin:8px 0 24px}#reader .reader-lead{font-size:23px;line-height:1.4;color:var(--fg);letter-spacing:-.4px;margin-bottom:36px}#reader h2{font-size:14px;font-weight:500;color:var(--muted);margin:34px 0 14px}#reader p{font-size:18px;line-height:1.65;color:var(--fg)}#reader .reader-members{font-size:14px;color:var(--muted)}#reader .reader-foot{border-top:1px solid var(--line);margin-top:40px;padding-top:18px;color:var(--muted);font-size:13px}#reader details{margin-top:28px}#reader summary{font-size:14px;color:var(--muted);cursor:pointer}#reader details p{font-size:15px;color:var(--muted)}@media(max-width:370px){.type-row{gap:3px}.type-select select{font-size:16px}#group-toggle{font-size:12px}#partner{font-size:12px}#expand{width:32px}}@media(prefers-reduced-motion:no-preference){#reader[open]{animation:read-in .22s ease-out}@keyframes read-in{from{transform:translateY(18%);opacity:.6}to{transform:none;opacity:1}}}

#partner{display:none}#group-options[data-kind=sets]{grid-template-columns:repeat(2,minmax(0,1fr))}#details{max-height:60dvh}#reader-close{min-width:44px}

#reader-title{overflow-wrap:anywhere}#details{max-height:none}
html,body{touch-action:pan-x pan-y;overscroll-behavior:none}button,a,select{touch-action:manipulation}#representation{font-family:inherit;font-size:13px;background:transparent;border:0;appearance:none;min-height:44px;max-width:104px;padding:0;color:var(--muted);text-align:right}#model-caption{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:12px;color:var(--muted);pointer-events:none}#reader-article{touch-action:pan-y}#graph{touch-action:none}#axes button,#group-options button{min-height:44px}.type-row{gap:6px}#expand{width:32px;flex-shrink:0}#clear{padding:0;width:28px;flex-shrink:0}
